|
From: Zhen Z. <zhe...@ho...> - 2008-06-10 15:02:13
|
Hi,
I'm wondering if there is a tutorial regarding testing ajax function calls with HTMLUnit.
Right now, I'm just simply calling the onclick function ,which calls a A4J.AJAX.Submit(....) function, but got an exception:
======= EXCEPTION START ========
EcmaError: lineNumber=[57] column=[0] lineSource=[null] name=[TypeError] sourceName=[https://localhost/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf] message=[TypeError: Cannot read property "target" from undefined (https://localhost/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf#57)]
com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "target" from undefined (https://localhost/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf#57)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:553)
at org.mozilla.javascript.Context.call(Context.java:499)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:468)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:970)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventHandler(EventListenersContainer.java:166)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:179)
at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:568)
at com.gargoylesoftware.htmlunit.html.HtmlElement$2.run(HtmlElement.java:1202)
at org.mozilla.javascript.Context.call(Context.java:499)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:1206)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:143)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:116)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:95)
at com.hp.ed.htmlunit.ConfigProfile.testAjax(ConfigProfile.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "target" from undefined (https://localhost/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf#57)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3557)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3535)
at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3563)
at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3582)
at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3595)
at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1381)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3054)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:192)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:160)
at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler.java:100)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:496)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$6.doRun(JavaScriptEngine.java:461)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:549)
... 31 more
Enclosed exception:
org.mozilla.javascript.EcmaError: TypeError: Cannot read property "target" from undefined (https://localhost/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf#57)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3557)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3535)
at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3563)
at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3582)
at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3595)
at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1381)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3054)
at script(https://15.178.180.33/webui/a4j.res/org.ajax4jsf.framework.ajax.AjaxScript.jsf:57)
at script(onclick event for HtmlAnchor[<a href="#" id="profileTabForm:tab7:mobileTab:mobileListTable:nameHeader" name="profileTabForm:tab7:mobileTab:mobileListTable:nameHeader" onclick="A4J.AJAX.Submit('_viewRoot','profileTabForm',event,{'eventsQueue':'profileTabForm:tab7:mobileTab:mobileListTable:nameHeader','parameters':{'profileTabForm:tab7:mobileTab:mobileListTable:nameHeader':'profileTabForm:tab7:mobileTab:mobileListTable:nameHeader'} ,'actionUrl':'/webui/admin/configui/profile/profileTab.jsf','oncomplete':function(request,event,data){cwc.Dom.onAjaxComplete('profileTabForm:tab7:mobileTab:mobileListTable');},'ignoreDupResponses':true,'requestDelay':100} );return false;" title="Name">]:1)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:192)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3003)
at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:160)
at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler.java:100)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:496)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$6.doRun(JavaScriptEngine.java:461)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:549)
at org.mozilla.javascript.Context.call(Context.java:499)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:468)
at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:970)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeEventHandler(EventListenersContainer.java:166)
at com.gargoylesoftware.htmlunit.javascript.host.EventListenersContainer.executeBubblingListeners(EventListenersContainer.java:179)
at com.gargoylesoftware.htmlunit.javascript.host.Node.fireEvent(Node.java:568)
at com.gargoylesoftware.htmlunit.html.HtmlElement$2.run(HtmlElement.java:1202)
at org.mozilla.javascript.Context.call(Context.java:499)
at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
at com.gargoylesoftware.htmlunit.html.HtmlElement.fireEvent(HtmlElement.java:1206)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:143)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:116)
at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:95)
at com.hp.ed.htmlunit.ConfigProfile.testAjax(ConfigProfile.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
== CALLING JAVASCRIPT ==
function () {
[native code, arity=0]
}
======= EXCEPTION END ========
thanks
jane
_________________________________________________________________
|