Why am I getting an exception with selenium 2.25.0 when trying to execute asynchronous script.
//navigate to my test page.
String script = "var callback = arguments[arguments.length - 1];" +
"getResult(callback)";
Object result = ((JavascriptExecutor)driver).executeAsyncScript(script, "");
System.out.println(result);
The test page contains the following script:
var result = true;
function getResult(callback){
window.setTimeout(function(){callback(true);}, 3000);
}
This throws an exception:
FAILED: testSeleniumAsync
org.openqa.selenium.TimeoutException: Script execution failed. Script: var callback = arguments[arguments.length - 1];getResult(callback);
Timed out waiting for asyncrhonous script result after 2 ms (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 11 milliseconds
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 22:18:01'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-27-generic', java.version: '1.6.0_26'
Driver info: driver.version: RemoteWebDriver
Session ID: 6347b507cf22b6c2d3312937a82a0a02
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
If I remove the setTimeout from my script and I call callback it works. But this is not what I want.
Thanks.