Javascript error terminates the test even when I have it switched off....
-------------------------------------------------------------------------
Key: WT-555
URL: http://webtest-community.canoo.com/jira/browse/WT-555
Project: WebTest
Type: Bug
Versions: 3.0
Environment: Windows XP
Reporter: Mark Winney
Attachments: onlineopinion.js
I have set the javascript error indicator to false, but still get javscript
errors that terminate the test.
My webtest sets the following in the config section
<option name="ThrowExceptionOnScriptError"
value="false"/>
But still get following stack trace and termination of the test
[clickLink] INFO (com.canoo.webtest.steps.Step) - >>>> Start Step: clickLink
"Navigate to Customer Service screen" (27/29)
[clickLink] INFO (com.canoo.webtest.engine.Configuration$2) - Caught script
exception
[clickLink] ======= EXCEPTION START ========
[clickLink] EcmaError: lineNumber=[1] column=[0] lineSource=[<no source>]
name=[ReferenceError] sourceName=[JavaScriptBackgroundJob]
message=[ReferenceError: "O_CommentMove" is not defined.
(JavaScriptBackgroundJob#1)]
[clickLink] com.gargoylesoftware.htmlunit.ScriptException: ReferenceError:
"O_CommentMove" is not defined. (JavaScriptBackgroundJob#1)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:513)
[clickLink] at org.mozilla.javascript.Context.call(Context.java:515)
[clickLink] at
org.mozilla.javascript.ContextFactory.call(ContextFactory.java:507)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:412)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:387)
[clickLink] at
com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:934)
[clickLink] at
com.gargoylesoftware.htmlunit.JavaScriptBackgroundJob.run(JavaScriptBackgroundJob.java:101)
[clickLink] at java.lang.Thread.run(Unknown Source)
[clickLink] at
com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadManager.java:116)
[clickLink] Caused by: org.mozilla.javascript.EcmaError: ReferenceError:
"O_CommentMove" is not defined. (JavaScriptBackgroundJob#1)
[clickLink] at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3654)
[clickLink] at
org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3632)
[clickLink] at
org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3717)
[clickLink] at
org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2123)
[clickLink] at
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3134)
[clickLink] at
org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2487)
[clickLink] at
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
[clickLink] at
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:192)
[clickLink] at
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
[clickLink] at
org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$5.doRun(JavaScriptEngine.java:403)
[clickLink] at
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:507)
[clickLink] ... 8 more
The Configuration.java file contains the following class, which may need to be
rewritten
protected void setupWebClient()
{
WebClient webClient = createWebClient();
webClient =
fContext.getWebtest().getWebtestCustomizer().customizeWebClient(webClient);
fContext.setWebClient(webClient);
// catcher for JS background errors (as long as HtmlUnit
doesn't provide a better solution to handle this)
final Thread mainThread = Thread.currentThread();
final JavaScriptEngine myEngine = new JavaScriptEngine(webClient) {
private static final long serialVersionUID = 3410982366939766502L;
protected void reportJavaScriptException(final ScriptException
scriptException) {
if (Thread.currentThread() != mainThread) {
fContext.setBackgroundJSError(scriptException);
}
super.reportJavaScriptException(scriptException);
}
};
webClient.setJavaScriptEngine(myEngine);
}
Attached is the offending javascript file which is not pretty and contains many
timers.
Thanks
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://webtest-community.canoo.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest