我目前正在使用每小时运行一次的硒RC进行自动化测试。一切都在大部分时间顺利运行,但有时候Firefox会崩溃或者硒RC会挂起,并且由于这两个问题,测试不会继续并停止。有谁知道我可以如何使firefox.exe或java.exe(硒实例)在它们崩溃或挂起时被杀死,因此测试可以恢复。我看到的问题是在Firefox或硒挂起时自动检测并通过脚本自动将其终止。如何处理硒崩溃
谢谢!
我目前正在使用每小时运行一次的硒RC进行自动化测试。一切都在大部分时间顺利运行,但有时候Firefox会崩溃或者硒RC会挂起,并且由于这两个问题,测试不会继续并停止。有谁知道我可以如何使firefox.exe或java.exe(硒实例)在它们崩溃或挂起时被杀死,因此测试可以恢复。我看到的问题是在Firefox或硒挂起时自动检测并通过脚本自动将其终止。如何处理硒崩溃
谢谢!
不知道我对你最终的答案,但我可以提供一些建议:
(SE推动我们可怕的极端:。实际上,我们写了一个SSH工作在TeamCity的是登录到Windows机器并重新启动服务器硒有触发最终,我们没有使用它)
理想,您的每个测试都将从干净的状态开始,没有运行现有的Firefox或IE进程。在你的测试tearDown()方法中,你应该关闭/退出你的浏览器。即使采用这种方法,有时候,流浪的流程仍然会流行起来。如果您通过Java RC在Windows上运行Selenium服务器,将此命令放入测试的startUp()方法可以帮助确保没有浏览器/实例正在运行:
Runtime.getRuntime().exec("TASKKILL /F /IM Firefox.exe");
Runtime.getRuntime().exec("TASKKILL /F /IM iexplore.exe");
至于检测到它们何时崩溃,Firefox会显示一个警告对话框,指示崩溃。您可以通过外部工具(如AutoIT)以编程方式与此窗口进行交互,如果需要,可以自动按下此对话框上的“确定”按钮。我发现构建一个在后台不断运行的外部AutoIT脚本来处理弹出窗口,崩溃,警告等非常有帮助。