Selenium服务器导致firefox崩溃

时间:2015-06-04 01:07:44

标签: firefox selenium

当前问题

我每晚都在运行自动化的selenium脚本。我刚刚注意到Firefox 38正在崩溃,并且firefox日志中没有列出任何内容。

单击“重新启动”firefox意味着测试运行正常。

无论如何都要调试并查找firefox崩溃的内容吗?

Firefox错误报告: https://crash-stats.mozilla.com/report/index/fdba810a-1980-45ea-b64b-0e8c62150604 enter image description here

当前解决方案

由于已经选择了“重新启动Firefox”,因此使用xdotool会通过发送回车键单击此按钮。 (注意:设置适当的显示,export DISPLAY=:1)。我正在从cron执行一个包含以下代码部分的bash脚本:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$PATH:/usr/lib/jvm/java-7-openjdk-amd64/bin
export DISPLAY=":99"    
java -jar /home/m/selenium-server-standalone-2.45.0.jar -htmlSuite "*firefox" "http://www.google.com" "selenium/2_Suite.html" "test_results/2_results.htm" &

sleep 5
xdotool key KP_Enter
wait 

更新

除了模拟enter键以重启firefox并运行测试之外,我使用https://support.mozilla.org/en-US/questions/1003777禁用了我的无头自动化测试VM上的所有未来更新。

2 个答案:

答案 0 :(得分:0)

Selenium适用于FireFox 33.0或更低版本。不要更新你的火狐,selenium在Firefox 36.0上不起作用。

答案 1 :(得分:0)

我遇到了.NET绑定的这个问题。我从来没有解决过,但我有一个解决方法。

我发现从现有配置文件中实例化Selenium Firefox驱动程序时没有发生这个问题,因此我的解决方法是创建一个空白配置文件,使用临时副本启动Selenium的Firefox驱动程序该个人资料;然后在测试结束时,删除临时副本。

通过这种方式,您仍然可以使用相当新鲜的个人资料,并且重要的是相同的个人资料,用于每次测试。

Selenium文档包含有关launching the Firefox driver with an existing profile的说明。