Hi,

I know it :-(

In fact this is a problem in the way HtmlUnit handles "background tasks"
like setInterval and setTimeout.

Please open an issue by HtmlUnit to avoid that it gets lost.

Cheers,
Marc.
-- 
Web: http://www.efficient-webtesting.com
Blog: http://mguillem.wordpress.com

Parkin Roman wrote:
> Hi,
> I has a problem: webtest ignores javascript error while it is displayed
> in log
> 
> Webtest open login page with javascript error but build is successfull
> 
> Config contains ThrowExceptionOnScriptError as true
> But build is not failed and log contains Exception
> Where is problem?
> 
> <config basepath="${server.basepath}"
>        host="${server.host}"
>        port="${server.port}"
>        protocol="${server.protocol}"
>        resultpath="${results.dir}"
>        saveresponse="true"
>        summary="true"
>        haltonfailure="true"
>        haltonerror="true"
>        autorefresh="true"
>        defaultpropertytype="ant" >
>        <option name="ThrowExceptionOnFailingStatusCode" value="true"/>
>        <option name="RedirectEnabled" value="true" />
>        <option name="ThrowExceptionOnScriptError" value="true"/>
>        <option name="JavaScriptEnabled" value="true"/>
> </config>
> 
> LOG
> [invoke]  INFO (com.canoo.webtest.engine.WebClientContext) - Current
> response now: http://dmitriy:8080/login.xhtml
> ERROR (com.gargoylesoftware.htmlunit.JavaScriptBackgroundJob) - Caught
> exception in Window.setTimeout().
> ======= EXCEPTION START ========
> EcmaError: lineNumber=[8] column=[0] lineSource=[null]
> name=[ReferenceError] sourceName=[http://dmitriy:8080/js/leftmenu.js]
> message=[ReferenceError: "$ES" is not defined.
> (http://dmitriy:8080/js/leftmenu.js#8)]
> com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "$ES" is
> not defined. (http://dmitriy:8080/js/leftmenu.js#8)
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:528)
> 
>    at org.mozilla.javascript.Context.call(Context.java:502)
>    at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:437)
> 
>    at
> com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:917)
> 
>    at
> com.gargoylesoftware.htmlunit.JavaScriptBackgroundJob.run(JavaScriptBackgroundJob.java:105)
> 
>    at java.lang.Thread.run(Unknown Source)
>    at
> com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadManager.java:127)
> Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "$ES" is
> not defined. (http://dmitriy:8080/js/leftmenu.js#8)
>    at
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3558)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3536)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3621)
>    at
> org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1719)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2098)
> 
>    at
> org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3161)
>    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
> 
>    at
> org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1581)
>    at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:322)
>    at
> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
>    at
> org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3335)
>    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
> 
>    at
> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
>    at
> com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:170)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3004)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:465)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$6.doRun(JavaScriptEngine.java:430)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:522)
> 
>    ... 7 more
> Enclosed exception:
> org.mozilla.javascript.EcmaError: ReferenceError: "$ES" is not defined.
> (http://dmitriy:8080/js/leftmenu.js#8)
>    at
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3558)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3536)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3621)
>    at
> org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1719)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.getNameFunctionAndThis(ScriptRuntime.java:2098)
> 
>    at
> org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3161)
>    at script(http://dmitriy:8080/js/leftmenu.js:8)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:56)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:57)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:181)
>    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
> 
>    at
> org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1581)
>    at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:322)
>    at
> org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)
>    at
> org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3335)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:181)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:256)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:257)
>    at script(http://dmitriy:8080/js/mootools-1.2.1-core-yc.js:56)
>    at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2484)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)
> 
>    at
> org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:401)
>    at
> com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:170)
> 
>    at
> org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3004)
>    at
> org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:162)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:465)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$6.doRun(JavaScriptEngine.java:430)
> 
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:522)
> 
>    at org.mozilla.javascript.Context.call(Context.java:502)
>    at org.mozilla.javascript.ContextFactory.call(ContextFactory.java:511)
>    at
> com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:437)
> 
>    at
> com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:917)
> 
>    at
> com.gargoylesoftware.htmlunit.JavaScriptBackgroundJob.run(JavaScriptBackgroundJob.java:105)
> 
>    at java.lang.Thread.run(Unknown Source)
>    at
> com.gargoylesoftware.htmlunit.ThreadManager$1.run(ThreadManager.java:127)
> == CALLING JAVASCRIPT ==
> 
>  function () {
>      return A.apply(B.bind || null, C);
>  }
> ======= EXCEPTION END ========
> INFO (com.canoo.webtest.ant.WebtestTask) - Finished executing webtest
> "Setup: site access"
> (D:\Projects\EduBase\trunk\src\test\webtest\tests\setupSuite\siteAccessTest.xml:17:
> )
> INFO (com.canoo.webtest.reporting.XmlReporter) - Writing report to
> D:\Projects\EduBase\trunk\src\test\webtest\results\001_SetupSiteAccess\WebTestReport.xml
> 
> INFO (com.canoo.webtest.ant.WebtestTask) - Test report successfully
> created.
> 
> .......
> wt.after.testInWork:
> wt.full:
> BUILD SUCCESSFUL
> 
> 
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
> 


_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to