测试 Selenium webdriver 调起来 Firefox 浏览器却无法访问设定的网址?

rubysir · 2016年01月15日 · 最后由 jiazhen 回复于 2016年01月17日 · 6169 次阅读

require 'selenium-webdriver' b = Selenium::WebDriver.for :firefox b.get 'http://www.baidu.com'

如上代码,前几天还运行得好好地,没有任何问题。 今天怎么就不行了? 系统是:yosemite 表现是: 只能讲 firefox 浏览器调用起来,但浏览器地址栏里不显示设定的网址(即http://www.baidu.com); 就这样一直等待,直到超时报错。如下图:

Did you recently upgrade your firefox? Check the firefox version and your selenium webdriver gem version. Both up to date should work.

#1 楼 @jiazhen firefox(v40)没有升级,selenium(selenium-webdriver (2.48.1))没有升级。 将两者都升级,结果第一次运行时,居然正常了,但是以后就再也没有成功,不能正常运行!? 怎么会这样呢?

这种一般都是 firefox 和 selenium 的版本不兼容导致,因为你之前的代码是可以跑通的

#2 楼 @rubysir 一般是版本问题,特别是 firefox. 你这个情况要 debug,要根据错误信息去找。只看表面状况只能猜测版本问题。

感谢各位的指点! 我太笨了! 结一下:先升级 selenium-webdriver 到 2.49,还是老样子; 再升级 firefox 到 v43,还是老样子; 删除 selenium-webdriver 2.49,重新安装 2.48,还是老样子; 覆盖安装 firefox v40.0,正常跑起来了!除此之外没有任何变动! 阿弥陀佛! 究竟是怎么一回事呢?

#5 楼 @rubysir 最新的 selenium-webdriver 2.49 (released on January 13 2016) 应该不支持最新的 firefox 版本, relative https://github.com/SeleniumHQ/selenium/issues/1385

在使用 selenium-webdriver 做自动化测试的时候,不要随意更新 gem 和浏览器的版本。我们是在 branch 下测试成功后才 upgrade 的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号