我为公司的电子商务网站进行了数百次硒测试。特别是,其中大约一半是结账测试,差异很小(签证的单身人士,美国运通的多人团队等)。我提到这一点是因为所有这些测试都使用几乎完全相同的代码,只是略有不同。
这些测试是从Jenkins开始使用Selenium Grid作为集线器并部署到同时运行Chrome和IE测试的Windows Server 2012 VM。开始我的测试后,几个小时后我会得到一个浏览器弹出窗口Command line server for the IE Driver has stopped working
和一个Close the program
按钮。这会导致测试执行挂起。
我尝试升级到VM上的最新版本的网格,以及最新版本的IE驱动程序服务器。我还编写了一个在每次测试开始时运行Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe")
的小型休息服务器(我认为可能一次打开太多窗口导致错误,但即使使用此修复也没有帮助)。我还尝试将TabProcGrowth
添加到HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
到注册表,但这只会导致在每个测试开始时打开多个窗口,从而进一步破坏。
此外,我已经实现了重试分析器,它将重试失败的测试。手动单击Close the program
后,测试将重新启动,几乎总是通过。考虑到这一点,以及结账测试的性质,我认为问题不是代码问题。
我已经尝试了好几天来解决这个问题。任何帮助将不胜感激!