我正在使用Selenium Grid 2。
我有一个集线器和6个节点。 我遇到的问题是由于意外的javascript弹出窗口导致测试失败,而selenium似乎没有清理这些会话。测试完成后,仍然有浏览器打开(每台测试机器上有多个),并且仍然有IEDriverServer.exe进程在运行。
这是我正在使用的hub.json文件:
{
"host": null,
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"prioritizer": null,
"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"throwOnCapabilityNotPresent": true,
"nodePolling": 5000,
"cleanUpCycle": 5000,
"timeout": 300000,
"browserTimeout": 60000
}
赞赏任何其他意见......
仅供参考,我的框架中确实有一个finally块,它最后做的是
driver.Dispose();
答案 0 :(得分:0)
我的观点来自Java,但如果做了两件事,我会对.Dispose()方法进行成像:
据我所知,在Selenium中没有自动清除浏览器的超时。您可以在驱动程序上设置3种不同的超时,但没有一种与您的要求相关。
作为旁注,我在我的“@AfterClass”注释中调用driver.quit()。然后在我的每个类中,它将通过参数化数据运行多次,然后最终退出浏览器。在我的“@AfterTest”注释中,我做了与最终HTML报告的准备相关的事情。