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

