在看到这是Firefox 35的一个问题之后,我安装了34并运行bundle exec rspec
并且我的测试运行完美。但当我再次尝试运行它时,它以某种方式打开了较新版本的Firefox,因为当我运行我的测试套件时再次出现以下错误:
Selenium::WebDriver::Error::JavascriptError: arguments[0] is undefined
有没有办法保证我没有安装Firefox 35,Selenium会以某种方式找到并打开?我知道Firefox 34是我Applications
目录中Firefox的版本,但我不确定在使用launchy
时Selenium正在抓取的新firefox的副本副本。
答案 0 :(得分:15)
这是known issue当前释放的硒。
正如@ janders223在对another question的评论中所指出的,Ruby项目的临时解决方法是使用selenium-webdriver
gem的开发版本。
修改您的Gemfile
以指定最新的开发版本(截至撰写本文时):
gem 'selenium-webdriver', '>=2.45.0.dev3'
然后运行bundle install
。
答案 1 :(得分:7)
所以,这是非常基本的,但我发现当我通过dmg listed here安装Firefox 34时,因为我天真地将Firefox图标拖放到Applications文件夹中,单击“是的,我想要覆盖现存的应用程序“我没有确保Firefox 35的所有新文件都不能供Selenium使用,Selenium在没有我知道它选择哪个版本的情况下利用了它。
我只是通过将其拖入垃圾箱,完全从我的Mac中卸载Firefox,&重新安装了Firefox 34 dmg。
N.B。此外,如果您遇到此问题,当您下载Firefox 34时,您必须转到Firefox>首选项>高级,单击更新选项卡,然后选择“检查更新,但让我选择是否安装它们”或“从不”检查更新“以防止Firefox自动更新到Firefox 35,因此下次再次运行时会弄乱您的Selenium测试套件。