如何解决在Selenium Java中获得“超时等待脚本完成”,而我在脚本中未使用任何异步代码
我将selenium网格与docker结合使用,并在IE的Windows节点上运行6个并行测试,其运行良好,但很少出现错误,并且在登录功能开始时使用了隐式等待120秒(因此它将适用于所有代码,直到驾驶员使用期限)
脚本显示“测试请求状态为'已提交',成功”(预期),然后等待120秒,然后单击“重置”按钮,然后出现以下错误(单击重置后应弹出警报)
代码:
1。
if (status.equals("Submitted")) {
appUtils.setPassDescription(node,"Test request status is 'submitted',success");
logger.info("Test request status is 'submitted',success");
} else if (status.equals("Not Submitted")) {
appUtils.setFailDescription(node,"Test request status is 'Not submitted',failure");
logger.error("Test request status is 'Not submitted',failure");
}
cnf.alertHandle("ok",node);
public void alertHandle(String type,ExtentTest node) {
try {
clickElement(sUtils.getElementByCSSSelector(loginElms.resetTestButtonCss),10,"Reset",node);
WebDriverWait wait = new WebDriverWait(getDriver(),30);
wait.until(ExpectedConditions.alertIsPresent());
Alert alertOK = driver.get().switchTo().alert();
if(type.equalsIgnoreCase("ok")){
alertOK.accept();
appUtils.setTestStepsInfo(node,"Clicked on 'Ok' of Reset");
}else if(type.equalsIgnoreCase("cancel"))
{
alertOK.dismiss();
appUtils.setTestStepsInfo(node,"Clicked on 'Cancel' of Reset");
}
Thread.sleep(3000);
} catch (Exception e) {
logger.error(e.getMessage());
appUtils.setFailDescription(node,e.getMessage());
}
}
例外:
Timed out waiting for script to complete.
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-
14T08:17:03'
System info: host: 'bld02600012',ip: '10.54.228.104',os.name: 'Linux',os.arch: 'amd64',os.version: '3.10.0-1062.4.3.el7.x86_64',java.version:
'1.8.0_261'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities {acceptInsecureCerts: false,browserName: internet explorer,browserVersion: 11,javascriptEnabled: true,pageLoadStrategy: normal,platform: WINDOWS,platformName: WINDOWS,proxy: Proxy(),se:ieOptions:
{browserAttachTimeout: 0,elementScrollBehavior: 0,enablePersistentHover:
true,ie.browserCommandLineSwitches:,ie.ensureCleanSession: false,ie.fileUploadDialogTimeout: 3000,ie.forceCreateProcessApi: false,ignoreProtectedModeSettings: false,ignoreZoomSetting: false,initialBrowserUrl: http://localhost:52445/,nativeEvents: true,requireWindowFocus: false},setWindowRect: true,timeouts: {implicit: 0,pageLoad: 300000,script: 30000},webdriver.remote.sessionid: cc942e9f-96f3-
4a63-8337-5ba...}
Session ID: cc942e9f-96f3-4a63-8337-5ba5eb4f506c
我没有使用任何JavaScript代码,这让我感到惊讶,根据我的理解,如果我们处理任何异步调用,都会收到此错误消息(如果我输入错误,请更正),有人可以告诉我为什么我会变得不高兴吗?这个错误
- 硒-3.141.59
- testng-6.14.3
- maven-3.6.0
- IEDriver-3.14.0
- Java-1.8.0_261
解决方法
此错误消息...
Timed out waiting for script to complete.
Build info: version: '3.141.59',revision: 'e82be7d358',time: '2018-11-14T08:17:03'
System info: host: 'bld02600012',os.name: 'Linux',os.arch: 'amd64',os.version: '3.10.0-1062.4.3.el7.x86_64',java.version: '1.8.0_112'
...表示 IEDriverServer 无法与新的浏览上下文即 InternetExplorer Browser 会话进行交互。
您的主要问题是所使用的二进制版本之间的不兼容性,如下所示:
- 您的 java.version 是 1.8.0_112 ,该版本已经很老和古代。
解决方案
确保:
- JDK 已升级到当前级别JDK 8u252。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。