转载

Selenium + Python 自动化测试环境搭建

Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真实用户操作一样。Selenium 框架底层使用JavaScript模拟用户对浏览器进行操作,测试脚本执行时,浏览器自动按脚本代码做出点击,输入,打开,验证等操作。

  • 支持多平台:windows、linux、MAC
  • 支持多浏览器:ie、ff、safari、opera、chrome
  • 支持多语言:C、C#、java、ruby、python …

关于 Python

Python 是一种面向对象、解释型计算机程序设计语言。Python语法简洁而清晰,具有丰富和强大的类库。之所以选择Python,原因如下:

  1. Python 基础语法入门较易
  2. Python 作为脚本语言无须编译
  3. Python 拥有强大的类库,以及第三方类库的支持
  4. Python 是完全面向对象的语言

Python 并非简单的“脚本语言”,而是一种高级动态编程语言。这为后续对测试框架的扩展做了有力的支持,可以说是无限扩展。

Python及Selenium的安装及配置

大众的主流操作系统仍为Windows,故以下仅为Windows系统下的安装及配置。

Python 安装

Windows下安装Python(建议2.X版本),步骤如下:

  1. 官网下载安装程序: https://www.python.org/downloads/
  2. 下载好后双击打开,选择使用的用户;默认 install for all users; 点击下一步(next)
  3. 选择安装路径安装,可修改安装路径;默认 C盘下,如 c:/python27; 点击下一步(next)
  4. 选择自定义的内容,* 建议勾选上 Add Python.exe to Path; 点击下一步(next)
  5. 等待安装并点击 Finish
  6. 双击 Python 程序,CMD 下输入 Python,显示类似如下表示安装成功

Selenium + Python 自动化测试环境搭建

Python环境变量

若上述步骤4 勾选,环境变量一般都配置成功了;

若仍有问题,查看 我的电脑 - 属性 - 高级 - 环境变量,Path 的值是否包含 当前Python安装目录路径;

若无,追加Python安装路径 如 “ ;c:/python27 “ (注意,需要加分号 “;”)粘贴至 Path的值中;再次 CMD 输入 Python 验证是否安装成功

安装Python的Selenium库

类库地址: https://pypi.python.org/pypi/selenium

cmd 下 pip install selenium 即可

多浏览器安装及配置

FireFox

将以下代码保存为 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,安装过程很方便,仅需下载后放置于对应浏览器的程序包中即可,详见下文。

Chrome Webdriver

Google 下载地址 ;被禁可 点此下载 ; 将该exe放入chrome程序包中,如下:

Selenium + Python 自动化测试环境搭建

参考代码如下(注意替换为你本机的 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

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里的保护模式都勾选即可。

原文  http://ftopia.cn/2016/06/20/Selenium + Python 自动化测试环境搭建.html
正文到此结束
Loading...