Selenium3 Python3 Web自动化测试从基础到项目实战之一启动不同的浏览器及配置

  在web自动化中目前selenium作为底层的自动化测试是目前运用最广的,但是各个公司都会在这个基础之上进行修改。从今天开始我们就慢慢从low代码一步一步的学习框架知识。

  首先当我们测试环境有了之后我们需要做得就是去配置我们的driver,这里的driver你可以理解为就是我们脚本和浏览器之间的桥梁。在selenium里面一些简短的教程会这样写:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()

 有的人这样写了之后会发现无法运行,直接给出了下面的提示错误:

Traceback (most recent call last):
  File "e:xxxxx/blog.py", line 3, in <module>
    driver = webdriver.Chrome()
  File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\chrome\webdriver.py", line 68, in __init__
    self.service.start()
  File "D:\python\lib\site-packages\selenium-3.11.0-py3.6.egg\selenium\webdriver\common\service.py", line 83, in start
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

  这是一个很常见的错误,根据提示“'chromedriver' executable needs to be in PATH 我们只需要把chromedriver.exe这个文件的路径添加到环境变量中就可以了,那什么是chromedriver.exe,完全不知道。selenium自动化不是只需要selenium就可以了么?为什么要这个chromedriver?其实在selenium2中默认的是使用firefox的浏览器驱动,selenium2也会自带他的驱动,但是在selenium3之后就不会自带了,那么就需要自己去官网下载,我们这里使用的是谷歌浏览器,那么就需要chromedriver的驱动。好吧去下载。

chromedriver淘宝的下载地址:https://npm.taobao.org/mirrors/chromedriver/ 这里可以自己选择不同的版本。

但是当大家下载了运行又会发现一个问题有时候无法运行,特别是java版本,为什么呢?因为你chromedriver的版本和浏览器版本不对应。这个可以查看每个chromedriver版本更新的日志,及兼容版本。

在上图中我们可以清楚的知道那些版本对应哪个版本浏览器。这个时候我们就轻松解决浏览器启动问题了。

如果我们需要启动不同的浏览器那么只需要使用webdriver调用不同的浏览器方法就可,但是还是需要去下载各自的驱动,启动方法:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver2 = webdriver.Firefox()
driver1 = webdriver.Edge()

这样我们就启动了不同的浏览器。

这个时候只需要我们去写需要打开的网址就可以:

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.5itest.cn/register")

 

posted on 2018-07-29 13:58  Mushishi_xu  阅读(853)  评论(0编辑  收藏  举报

导航