Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真实用户操作一样。Selenium 框架底层使用JavaScript模拟用户对浏览器进行操作,测试脚本执行时,浏览器自动按脚本代码做出点击,输入,打开,验证等操作。
Python 是一种面向对象、解释型计算机程序设计语言。Python语法简洁而清晰,具有丰富和强大的类库。之所以选择Python,原因如下:
Python 并非简单的“脚本语言”,而是一种高级动态编程语言。这为后续对测试框架的扩展做了有力的支持,可以说是无限扩展。
大众的主流操作系统仍为Windows,故以下仅为Windows系统下的安装及配置。
Windows下安装Python(建议2.X版本),步骤如下:
若上述步骤4 勾选,环境变量一般都配置成功了;
若仍有问题,查看 我的电脑 - 属性 - 高级 - 环境变量,Path 的值是否包含 当前Python安装目录路径;
若无,追加Python安装路径 如 “ ;c:/python27 “ (注意,需要加分号 “;”)粘贴至 Path的值中;再次 CMD 输入 Python 验证是否安装成功
类库地址: https://pypi.python.org/pypi/selenium
cmd 下 pip install selenium
即可
将以下代码保存为 test.py,运行该代码 python test.py
# !/usr/bin/env python # -*- coding:utf-8 -*- from selenium import webdriver browser = webdriver.Firefox() browser.get('http://www.baidu.com')
请注意本机已安装FireFox浏览器,若代码运行正常,webdriver会启动新的firefox窗口,并打开百度首页。
FireFox是Selenium的默认浏览器,若需要在其他浏览器上进行测试,则需要安装对应浏览器的Webdriver,安装过程很方便,仅需下载后放置于对应浏览器的程序包中即可,详见下文。
Google 下载地址 ;被禁可 点此下载 ; 将该exe放入chrome程序包中,如下:
参考代码如下(注意替换为你本机的 ChromeDriver路径):
# !/usr/bin/env python # -*- coding:utf-8 -*- from os import environ from selenium import webdriver chromedriver = "D:/chrome(X64)-38.0.2125.101/Chrome-bin/chromedriver.exe" environ["webdriver.chrome.driver"] = chromedriver browser = webdriver.Chrome() browser.get('http://www.baidu.com')
代码解释:将该chromedriver.exe的绝对路径加至环境变量webdriver.chrome.driver中。此时,可运行chrome的webdriver了。
若代码运行正常,chrome webdriver会启动新chrome窗口,并打开百度首页;若执行出错,建议再次检查下路径;若仍报错,可重装chrome,可能就是chrome本身的问题。
也可将所在目录地址添加入 path 环境变量中,如:D:/chrome(X64)-38.0.2125.101/Chrome-bin,就无需os加入环境变量,直接 browser = webdriver.Chrome()
即可
IE Webdriver 类似 chrome,需要下载 IEdriver,google 下载地址 ; 被禁可 点此下载
参考代码如下(注意替换为你本机的 IEDriver路径):
# !/usr/bin/env python # -*- coding:utf-8 -*- from os import environ from selenium import webdriver iedriver = "C:/Program Files/Internet Explorer/IEDriverServer.exe" environ["webdriver.ie.driver"] = iedriver browser = webdriver.Ie(iedriver) browser.get("http://www.baidu.com")
除了 Firefox、chrome、IE 以外, Opera 、Safari 等也可支持,这边就不一一介绍了,如果想要了解,可自行google下载使用,方式类似。
可写一个py模块来启动浏览器,使用时仅需 import 即可,而对应的webdriver路径可作为配置文件读取,这边就不多加引申了。
# !/usr/bin/env python # -*- coding:utf-8 -*- from os import environ from selenium import webdriver ff = webdriver.Firefox() # Firefox chromedriver = "D:/chrome(X64)-38.0.2125.101/Chrome-bin/chromedriver.exe" environ["webdriver.chrome.driver"] = chromedriver chrome = webdriver.Chrome(chromedriver) # Chrome iedriver = "C:/Program Files/Internet Explorer/IEDriverServer.exe" environ["webdriver.ie.driver"] = iedriver ie = webdriver.Ie(iedriver) # IE ''' Your testing code could be here ''' TEST_URL = "http://www.baidu.com" //ff.get(TEST_URL) chrome.get(TEST_URL) //ie.get(TEST_URL)
需要配置IE的保护模式,把IE里的保护模式都勾选即可。