java自动化学习常见问题

WebDriver启动各大浏览器问题整理

Chrome

  1. chrome浏览器驱动问题
    使用Chrome做测试时,报了如下错误:

    The path to the driver executable must be set by the webdirver.chrome.driver system properity
    

    解决方案:
    设置Chrome驱动文件的路径(xxx–>驱动文件的相对路径)

    System.setProperty("webdriver.chrome.driver", "xxx");
    
  2. Chrome与ChromeDriver版本对照说明(Chrome V70以下)

    ChromeDriver 版本支持的 Chrome 版本
    v2.41v67-69
    v2.40v66-68
    v2.39v66-68
    v2.38v65-67
    v2.37v64-66
    v2.36v65-67
    v2.35v62-64
    v2.34v61-63
    v2.33v60-62
    v2.32v59-61
    v2.31v58-60
    v2.30v58-60
    v2.29v56-58

    Chrome V70版本以上按照版本对应文件夹即可
    chrome浏览器各版本下载 http://www.chromedownloads.net/chrome64win/
    禁止谷歌浏览器更新参考 https://blog.csdn.net/qq_42253278/article/details/111402748

Firefox

  1. Firefox安装路径问题
    firefox火狐浏览器去完成自动化测试时,代码报了如下错误:

    Cannot find firefox binary in PATH. mark sure firefox is installed
    

    错误原因:
    firefox安装在其它路径,不是默认的安装路径
    解决办法:
    指定firefox可执行文件路径:webdriver.firefox.bin
    代码设置:

    #D:\\Program Files\\Mozilla Firefox\\firefox.exe为firefox可执行文件路径
    System.setProperty("webdriver.firefox.bin", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");
    
  2. selenium Firefox驱动问题
    使用firefox火狐浏览器去完成自动化测试时,代码报了如下错误:

    The path to the driver executable must be set by the webdriver.gecko.driver system properity
    

    错误原因:
    缺少火狐浏览器驱动包。如果selenium版本是3.x + 的,需要使用驱动包
    解决办法:
    往项目中添加火狐驱动包,并加载驱动的配置。至于该驱动版本适配的浏览器和selenium版本在驱动的change log里有说明(如:使用selenium 3.5.1+firefox 56)
    代码设置:

    System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver.exe");
    
  3. Firefox与geckodriver对应版本说明

    geckodriver版本Firefox版本
    0.15v 48+
    0.16v 52
    0.17v 52
    0.18v 53

    Change Log https://github.com/mozilla/geckodriver/blob/release/CHANGES.md
    Firefox各版本下载地址 http://ftp.mozilla.org/pub/firefox/releases/(建议跟我保持一致,用57版本的firefox浏览器)
    Firefox驱动镜像网址 https://npm.taobao.org/mirrors/geckodriver/

InternetExplorer

IE浏览器的驱动跟着Selenium版本走即可,比如当前项目使用的Selenium是V3.141.59,那么去Selenium的镜像网址下载对应版本的IEDriverServer驱动即可(建议使用32位的)
https://npm.taobao.org/mirrors/selenium

  1. IE浏览器驱动问题
    使用IE浏览器去完成自动化测试时,代码报了如下错误:
    The path to the driver executable must be set by the webdriver.ie.driver system property
    
    错误总结:
    缺少IE浏览器驱动包
    解决办法:
    往项目中添加IE驱动包,并加载驱动的配置。
    System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
    
    下载地址 http://www.seleniumhq.org/download/
    IE驱动版本与Selenium版本保持相同即可
    http://selenium-release.storage.googleapis.com/index.html
  2. IE浏览器保护模式问题
    使用IE浏览器去完成自动化测试时,代码报了如下错误:
    Protected Mode Settings are not the same for all zones
    
    解决方法1:
    浏览器设置(但是换一台电脑就不适用了)
    打开IE浏览器->工具->安全->全部勾选启用保护模式
    解决方法2:
    忽略浏览器保护模式的设置InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS
    代码:
    //取消IE安全设置(忽略IE的Protected Mode的设置)
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
    
  3. IE浏览器缩放设置
    使用IE浏览器去完成自动化测试时,代码报了如下错误:
    Browser zoom level was set to 125%.It should be set to 100%
    
    错误总结:
    浏览器缩放级别设置不对导致的(点工具栏页面->缩放设置)
    解决办法:
    忽略此设置:InternetExplorerDriver.IGNORE_ZOOM_SETTING
    代码:
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
    
  4. IE浏览器window丢失问题
    使用IE浏览器去完成自动化测试时,代码报了如下错误:
    unable to find element with id -- kw
    
    错误总结:
    不是因为没有设置等待时间,而是因为之前的window对象已经丢失
    解决办法:
    最快的解决办法是直接指定一个初始化页面
    InternetExplorerDriver.INITIAL_BROWSER_URL
    代码:
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, "http://www.baidu.com");
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值