在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")