为什么我在尝试执行异步脚本时遇到 selenium 2.25.0 异常。
//导航到我的测试页面。
字符串脚本=“var回调=参数[arguments.length - 1];” +
"getResult(回调)";
对象结果 = ((JavascriptExecutor)driver).executeAsyncScript(script, "");
System.out.println(结果);
测试页面包含以下脚本:
变量结果=真;
函数获取结果(回调){
window.setTimeout(function(){callback(true);}, 3000);
}
这会引发异常:
失败:testSeleniumAsync
org.openqa.selenium.TimeoutException:脚本执行失败。脚本: var callback = arguments[arguments.length - 1];getResult(callback);
2 毫秒后等待异步脚本结果超时(警告:服务器未提供任何堆栈跟踪信息)
命令持续时间或超时:11 毫秒
构建信息:版本:'2.25.0',修订:'17482',时间:'2012-07-18 22:18:01'
系统信息:os.name:'Linux',os.arch:'amd64',os.version:'3.2.0-27-generic',java.version:'1.6.0_26'
驱动程序信息:driver.version:RemoteWebDriver
会话 ID:6347b507cf22b6c2d3312937a82a0a02
在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
如果我从脚本中删除 setTimeout 并调用回调它就可以工作。但这不是我想要的。
谢谢。