我每晚都在运行自动化的selenium脚本。我刚刚注意到Firefox 38正在崩溃,并且firefox日志中没有列出任何内容。
单击“重新启动”firefox意味着测试运行正常。
无论如何都要调试并查找firefox崩溃的内容吗?
Firefox错误报告: https://crash-stats.mozilla.com/report/index/fdba810a-1980-45ea-b64b-0e8c62150604
由于已经选择了“重新启动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上的所有未来更新。
答案 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的说明。