我Selenium 2.X升级为Selenium 3.X的辛酸史

发表于:2018-1-22 10:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:我吃小虾米    来源:简书

  之前用selenium 2.x + Firefox 38 +JDK 1.7做的一套UI自动化,之后许久未用,现在Firefox已经到55版本了,每次用总是下载旧的火狐浏览器,太麻烦了。同时也跟不上火狐浏览器的更新步伐。所以最近2天将selenium升级,以适应最新的火狐浏览器。
  目标:Selenium 3.X +Firefox 55
  1、先下载selenium-server-standalone,先去selenium官网看了一下现在selenium的版本,发现已经更新到3.5.3
  
  个人觉得最新的版本的可能会有点小问题,保险起见决定下载selenium-server-standalone-3.5.0
  2、下载好后,将jar包导入到项目中
  3、selenium3.0以后对应的火狐版本。还需要下载geckodriver 插件,随便从小伙伴要了一个geckodriver.exe,将下载好的geckodriver.exe放到火狐安装目录中 C:\Program Files (x86)\Mozilla Firefox
  4、准备启动项目,但是不知道为什么项目启动不了,问了度娘才知道,JDK必须是1.8以上。anyway,重新下载JDK。配置环境变量
 
  我下载的JDK是1.8.0_131。
  5、搞定JDK后,准备启动项目,心里还有点小激动呢!!!这么快就能升级完Selenium呢.。准备见证奇迹的时候到了,启动项目。
  What???
 
  参考以上源码,修改了之前的代码,怎么就报错了呢
  
  6、好吧,接着问度娘。找啊找,竟然没有找到,我在selenium官网找到关于selenium中有一段描述,我摘下来了
  The Selenium Server is needed in order to run Remote Selenium WebDriver. Selenium 3.X is no longer capable of running Selenium RC directly, rather it does it through emulation and the WebDriverBackedSelenium interface.
  Selenium 3.X不在不能够直接运行Selenium RC,所以需要下载geckodriver。既然已经下载了,那是不是不能兼容呢?
  在geckodriver 0.19.0中有这样一段描述
  
  7、简单粗暴,下载了geckodriver 0.19.0,启动项目,可以打开火狐浏览器啦,胜利在望啊,不能输入连接。哎呦 我去 又报错
 
  org.openqa.selenium.WebDriverException: Timed out waiting 45 seconds for Firefox to start.
  Build info: version: '3.5.0', revision: '8def36e068', time: '2017-08-10T23:00:22.093Z'
  System info: host: 'RLN0J1DAT01DX78', ip: '192.168.1.18', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_131'
  Driver info: driver.version: FirefoxDriver
  Emmmmmmm 我也看不懂这个是哪的问题了
  看一下源码
  System.setProperty("webdriver.firefox.marionette",
  "C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe");
  driver = new FirefoxDriver();
  log.info("runDriver is ff......");
  火狐浏览器默认安装在C盘,同时可以启动火狐浏览器,所以不需要加
  System.setProperty("webdriver.firefox.bin", "火狐实际安装路径");
  那就是启动geckodriver.exe的问题了。"webdriver.firefox.marionette"这个是什么鬼,修改成"webdriver.gecko.driver"。启动项目。正常运行。
  果然不能随表参考别人的代码,按自己情况修改。
  PS:若有错误,敬请告知,不胜感激!

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 谢小妹
    2020-2-15 22:38:13

    大神,你遇到过下面的问题吗?
    把driver设置改为,System.setProperty("webdriver.gecko.driver","C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");报下面的错:
    System.setProperty("webdriver.gecko.driver","C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");

  • jj52314
    2019-9-24 14:38:37

    换版升级是最让人吐血的事情

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号