Selenium2+Python自动化测试实战(虫师)学习笔记(一)-配置报错篇

环境:python3 + selenium3.0.2 + selenium server standalone3.3.1

安装浏览器(firefox+chrome+ie)驱动:

  • chrome+ie:按照报错提示,在指定网站下载浏览器驱动
  • 关键是将驱动加入path:
    • (不生效)将iedriver.exe+chromedriver.exe的路径简单粗暴添加到path
    • (生效)将iedriver.exe+chromedriver.exe直接放在python3.5的安装路径下,和python.exe在同一个目录下
      • ie(我这里是ie8)使用时,报错:UnexpectedAlertPresentException: Alert Text: 是否只查看安全传送的网页内容? 原因是ie安全级别太高,直接在工具- 》internt选项-》安全-》internet(本地Intranet、可信站点)-》自定义安全级别-》在“其他”分类里边找到“显示混合内容”选“启用”或者“禁用”均可。(注意:这里internet、本地Intranet、可信站点下要保持设置一致,否则又会报错:Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) for all zones.
      • ie报错:Browser zoom level was set to 125%. It should be set to 100%。是由于IE浏览器的比例调大了,按ctrl+0,即可以恢复原来的大小。
  • firefox:selenium3.x之后对firefox需要下载特定的geckodriver,之后同chrome的操作。

使用Remote调用firefox浏览器各种报错

  • 刚开始使用selenium server3.0.0 一直不能正确启动firefox,报错:Failed to connect to binary FirefoxBinary,后来发现是firefox版本太高的原因,故改用3.3.1版本
  • 使用selenium server3.3.1,报错:
    org.openqa.selenium.remote.service.DriverCommandExecutor cannot be cast to org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor。发现是因为按照书上的加了’marionette’: False这句,注释即可正常运行,但是不造为嘛,书上强调这句正是必须添加的!!!

新手上路,这些基本配置及使用中遇到的坑,在这里做个记载,对应的有些解决方案,应该有误打误撞的原因,欢迎各位指教~

你可能感兴趣的:(自动化测试)