selenium + python自动化测试环境搭建

selenium + python自动化测试环境搭建

2013-05-29 18:21 by 虫师, 36846 阅读, 16 评论, 收藏, 编辑

selenium 是一个web 的自动化测试工具,不少学习功能自动化的同学开始首选se lenium ,相因为它相比QTP 有诸多有点:

* 免费,也不用再为破解QTP 而大伤脑筋

* 小巧,对于不同的语言它只是一个包而已,而QTP 需要下载安装1个多G 的程序。

* 这也是最重要的一点,不管你以前更熟悉C 、 java 、ruby 、python 、或都是C# ,你都可以通过selenium 完成自动化测试,而QTP 只支持VBS

* 支持多平台:windows 、linux 、MAC ,支持多浏览器:ie 、ff 、safari 、op era 、chrome

* 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

关于selenium 的基础知识与java 平台的结合,我之前写过一个《菜鸟学习自动化测试》系列,最近学python ,所以想尝试一下selenium 的在python 平台如何搭建;还好这方法的文章很容易,在此将搭建步骤整理分享。

搭建平台windows

准备工具如下:

------------------------------------------------------------- 下载python

http://python.org/getit/

下载setuptools 【python 的基础包工具】

# http://pypi.python.org/pypi/setuptools

https://pypi.python.org/packages/2.7/s/setuptools/

下载pip 【python 的安装包管理工具】

https://pypi.python.org/pypi/pip

-------------------------------------------------------------

因为版本都在更新,pyhton 选择2.7.xx ,setuptools 选择你平台对应的版本,pip 不要担心tar.gz 在windows 下一样可用。

3、安装pip ,我默认解压在了C:\pip-1.3.1 目录下

4、打开命令提示符(开始---cmd 回车)进入C:\pip-1.3.1目录下输入: C:\pip-1.3.1 > python setup.py install

5、再切换到C:\Python27\Scripts 目录下输入:

C:\Python27\Scripts > easy_install pip

6、安装selenium ,(下载地址: https://pypi.python.org/pypi/selenium )

如果是联网状态的话,可以直接在C:\Python27\Scripts 下输入命令安装: C:\Python27\Scripts > pip install -U selenium

如果没联网(这个一般不太可能),下载selenium 2.33.0 (目前的最新版本) 并解压把整个目录放到C:\Python27\Lib\site-packages 目录下。

=======如果你不分析wedriver

原理的话,下面两步可以省略=============

7、下载并安装(http://www.java.com/zh_CN/download/chrome.jsp?locale=zh_CN)什么?你没整过java ,参考其它文档吧!这不难。

8、 下载selenium 的服务端(https://code.google.com/p/selenium/)在页面的左侧列表中找到

selenium-server-standalone-XXX.jar

对!就是这个东西,把它下载下来并解压;

在selenium-server-standalone-xxx.jar 目录下使用命令 java -jar seleniu m-server-standalone-xxx.jar 启动(如果打不开,查看是否端口被占 用:netst at -aon|findstr 4444)。

===============================================

ubuntu 下安装方式:

1、安装:setuptools

root@fnngj-H24X:~# apt-get install python-setuptools

2、安装pip

root@fnngj-H24X:/home/fnngj/python# tar -zxvf pip-1.4.1.tar.gz root@fnngj-H24X:/home/fnngj/python# cd pip-1.4.1/

root@fnngj-H24X:/home/fnngj/python# python setup.py install

3、安装selenium

root@fnngj-H24X:/home/fnngj/python/pip-1.4.1# pip install -U selenium

恭喜~! 你前期工作已经做了,上面的步骤确实有些繁琐,但是并不难,不过我们已经完成成了,下面体验一下成果吧! 拿python 网站上的例子:

from selenium import webdriver

from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys

import time

browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yahoo.com")

# Load page

assert "Yahoo!" in browser.title

elem = browser.find_element_by_name("p" ) # Find the query box elem.send_keys("seleniumhq" + Keys.RETURN)

time.sleep(0.2) # Let the page load, will be added to the API try :

browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")

except NoSuchElementException:

assert 0, "can't find seleniumhq"

browser.close()

(运行过程中如果出现错误:

WebDriverException: Message: u'Unexpected error launching Interne t Explorer.

Protected Mode settings are not the same for all zones. Enab le Protected Mo

de must be set to the same value (enabled or disabled) for a ll zones.'

更改IE 的internet 选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去 掉勾,或者全部勾上。)

-----------------------------------------

selenium + python 的一份不错文档

http://selenium.googlecode.com/git/docs/api/py/index.html

===========================如果想通过其它浏览器(IE Chrome)运行脚本=================================

安装Chrome driver

chrome driver的下载地址在这里。

1. 下载解压,你会得到一个chromedriver.exe 文件(我点开,运行提示starte d no prot 9515 ,这是干嘛的?端口9515被占了?中间折腾了半天),后来才知道需要把这家伙放到chrome 的安装目录下...\Google\Chrome\Application\ ,然后设

置path 环境变量,把chrome

的安装目录(我的:

C:\Program Files\Google\Chrome\Application),然后再调用运行:

# coding = utf-8

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('http://radar.kuaibo.com')

print driver.title

driver.quit()

又报了个错:

Chrome version must be >= 27.0.1453.0\n (Driver info: chromedriver=2.0,platform=Windows NT 5.1 SP3 x86)

说我chrome 的版本没有大于27.0.1453.0 ,这个好办,更新到最新版本即可。

安装IE driver

在新版本的webdriver 中,只有安装了ie driver使用ie 进行测试工作。

ie driver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driv er 。

暂时还没尝试,应该和chrome 的安装方式类似。

记得配置IE 的保护模式

如果要使用webdriver 启动IE 的话,那么就需要配置IE 的保护模式了。 把IE 里的保护模式都选上或都勾掉就可以了。

乙醇的安装方式:

http://easonhan007.github.io/python/2013/05/07/setup-env/

5分钟安装好selenium webdriver + python 环境:

http://v.youku.com/v_show/id_XNjQ1MDI5Nzc2.html?qq-pf-to=pcqq.group

selenium + python自动化测试环境搭建

2013-05-29 18:21 by 虫师, 36846 阅读, 16 评论, 收藏, 编辑

selenium 是一个web 的自动化测试工具,不少学习功能自动化的同学开始首选se lenium ,相因为它相比QTP 有诸多有点:

* 免费,也不用再为破解QTP 而大伤脑筋

* 小巧,对于不同的语言它只是一个包而已,而QTP 需要下载安装1个多G 的程序。

* 这也是最重要的一点,不管你以前更熟悉C 、 java 、ruby 、python 、或都是C# ,你都可以通过selenium 完成自动化测试,而QTP 只支持VBS

* 支持多平台:windows 、linux 、MAC ,支持多浏览器:ie 、ff 、safari 、op era 、chrome

* 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

关于selenium 的基础知识与java 平台的结合,我之前写过一个《菜鸟学习自动化测试》系列,最近学python ,所以想尝试一下selenium 的在python 平台如何搭建;还好这方法的文章很容易,在此将搭建步骤整理分享。

搭建平台windows

准备工具如下:

------------------------------------------------------------- 下载python

http://python.org/getit/

下载setuptools 【python 的基础包工具】

# http://pypi.python.org/pypi/setuptools

https://pypi.python.org/packages/2.7/s/setuptools/

下载pip 【python 的安装包管理工具】

https://pypi.python.org/pypi/pip

-------------------------------------------------------------

因为版本都在更新,pyhton 选择2.7.xx ,setuptools 选择你平台对应的版本,pip 不要担心tar.gz 在windows 下一样可用。

3、安装pip ,我默认解压在了C:\pip-1.3.1 目录下

4、打开命令提示符(开始---cmd 回车)进入C:\pip-1.3.1目录下输入: C:\pip-1.3.1 > python setup.py install

5、再切换到C:\Python27\Scripts 目录下输入:

C:\Python27\Scripts > easy_install pip

6、安装selenium ,(下载地址: https://pypi.python.org/pypi/selenium )

如果是联网状态的话,可以直接在C:\Python27\Scripts 下输入命令安装: C:\Python27\Scripts > pip install -U selenium

如果没联网(这个一般不太可能),下载selenium 2.33.0 (目前的最新版本) 并解压把整个目录放到C:\Python27\Lib\site-packages 目录下。

=======如果你不分析wedriver

原理的话,下面两步可以省略=============

7、下载并安装(http://www.java.com/zh_CN/download/chrome.jsp?locale=zh_CN)什么?你没整过java ,参考其它文档吧!这不难。

8、 下载selenium 的服务端(https://code.google.com/p/selenium/)在页面的左侧列表中找到

selenium-server-standalone-XXX.jar

对!就是这个东西,把它下载下来并解压;

在selenium-server-standalone-xxx.jar 目录下使用命令 java -jar seleniu m-server-standalone-xxx.jar 启动(如果打不开,查看是否端口被占 用:netst at -aon|findstr 4444)。

===============================================

ubuntu 下安装方式:

1、安装:setuptools

root@fnngj-H24X:~# apt-get install python-setuptools

2、安装pip

root@fnngj-H24X:/home/fnngj/python# tar -zxvf pip-1.4.1.tar.gz root@fnngj-H24X:/home/fnngj/python# cd pip-1.4.1/

root@fnngj-H24X:/home/fnngj/python# python setup.py install

3、安装selenium

root@fnngj-H24X:/home/fnngj/python/pip-1.4.1# pip install -U selenium

恭喜~! 你前期工作已经做了,上面的步骤确实有些繁琐,但是并不难,不过我们已经完成成了,下面体验一下成果吧! 拿python 网站上的例子:

from selenium import webdriver

from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys

import time

browser = webdriver.Firefox() # Get local session of firefox browser.get("http://www.yahoo.com")

# Load page

assert "Yahoo!" in browser.title

elem = browser.find_element_by_name("p" ) # Find the query box elem.send_keys("seleniumhq" + Keys.RETURN)

time.sleep(0.2) # Let the page load, will be added to the API try :

browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")

except NoSuchElementException:

assert 0, "can't find seleniumhq"

browser.close()

(运行过程中如果出现错误:

WebDriverException: Message: u'Unexpected error launching Interne t Explorer.

Protected Mode settings are not the same for all zones. Enab le Protected Mo

de must be set to the same value (enabled or disabled) for a ll zones.'

更改IE 的internet 选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去 掉勾,或者全部勾上。)

-----------------------------------------

selenium + python 的一份不错文档

http://selenium.googlecode.com/git/docs/api/py/index.html

===========================如果想通过其它浏览器(IE Chrome)运行脚本=================================

安装Chrome driver

chrome driver的下载地址在这里。

1. 下载解压,你会得到一个chromedriver.exe 文件(我点开,运行提示starte d no prot 9515 ,这是干嘛的?端口9515被占了?中间折腾了半天),后来才知道需要把这家伙放到chrome 的安装目录下...\Google\Chrome\Application\ ,然后设

置path 环境变量,把chrome

的安装目录(我的:

C:\Program Files\Google\Chrome\Application),然后再调用运行:

# coding = utf-8

from selenium import webdriver

driver = webdriver.Chrome()

driver.get('http://radar.kuaibo.com')

print driver.title

driver.quit()

又报了个错:

Chrome version must be >= 27.0.1453.0\n (Driver info: chromedriver=2.0,platform=Windows NT 5.1 SP3 x86)

说我chrome 的版本没有大于27.0.1453.0 ,这个好办,更新到最新版本即可。

安装IE driver

在新版本的webdriver 中,只有安装了ie driver使用ie 进行测试工作。

ie driver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driv er 。

暂时还没尝试,应该和chrome 的安装方式类似。

记得配置IE 的保护模式

如果要使用webdriver 启动IE 的话,那么就需要配置IE 的保护模式了。 把IE 里的保护模式都选上或都勾掉就可以了。

乙醇的安装方式:

http://easonhan007.github.io/python/2013/05/07/setup-env/

5分钟安装好selenium webdriver + python 环境:

http://v.youku.com/v_show/id_XNjQ1MDI5Nzc2.html?qq-pf-to=pcqq.group


相关内容

  • 用 Selenium 自动化验收测试
  • 如何使用 Selenium 测试工具对 Ruby on Rails 和 Ajax 应用程序进行功能测试 文档选项 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 讨论 样例代码 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 中级 Christian ...

  • [通用人工智能的新宇宙]OpenAI 重磅发布AGI测试训练平台Universe
  • 新智元编译 来源:openai.com 译者:王楠.刘小芹.胡祥杰 新智元启动新一轮大招聘:COO.执行总编.主编.高级编译.主笔.运营总监.客户经理.咨询总监.行政助理等 9 大岗位全面开放. 简历投递:[email protected] HR 微信:[1**********] 新智元为COO和执 ...

  • 两轮平衡车姿态检测系统设计
  • 两轮平衡车姿态检测系统设计 李振全1,何波贤2,赵凤全3,张可3 (1. 中国东方航空技术有限公司山东分公司,山东青岛266108:2. 92724部队,山东青岛266108: 3. 92886部队,山东青岛266300) 摘 要:针对双轮平衡车姿态检测系统单独采用陀螺存在干扰和随机漂移等问题,基于 ...

  • 程序员入门:如何自学编程
  • 你也许曾经想过要学习如何开发软件-或只是想临时的写出一个脚本-但不知道如何入手. 幸运的是,现在的互联网上到处都有丰富的学习资源让你能在短时间里成为一个程序员. 因为互联网的出现,使程序员们可以通过它讨论软件开发技术,发布学习指导,以及共享代码实例让其他人可以在线学习. 如果你感兴趣如何才能成为一个 ...

  • 我是如何从桌面维护转到Linux系统运维
  • 之前一直从事Windows桌面维护和Windows server服务器维护,技术还算行,就是杂事很多.虽然说服务器稳定,可是公司每天都有很多杂事儿,一会打电话来说我输入法用不了了,一会说我office打不开Excel了,每天都是鸡皮蒜毛的小事儿,很浪费精力.持续了两年时间都是浑浑噩噩的. 如今的互联 ...

  • 软件开发简历-多年经验-纯文字多内容
  • OfficePLUS 男/1987-12/团员/汉族 手机:[1**********] E-mail:[email protected] 籍贯:北京市海淀区 教育背景 2010.09-2012.05 KTH瑞典皇家理工大学Computer Engineering 硕士 主要课程:面向服 ...

  • GIT+Gitosis+Repo 整套部署方案
  • android很流行,它的开发环境也很流行.下面我们参照它的模式,搭建一个企业内部的完整版本管理系统. 基本概念: Git是目前最流行的分布式版本管理工具,当然它提供了其他版本管理工具都有的功能,同时提供了轻量级的分支管理,非常的实用.看前面的句子,注意到没有,它是分布式的,所以那里都有一份完整的代 ...

  • Python中有效的字符串合并方法
  • Python中有效的字符串合并方法 介绍 在Python编程语言中,构造一些较长的字符串事常常会产生一些运行很慢的代码.本文我将研究不同字符串合并方法的计算性能. 在Python中,字符串(string)对象是不可变的(每次关联一个新的字符串变量都会在内存中创建一个新的对象)(译注:类同于Java, ...

  • 计算机相关专业实习报告
  • 专业实习报告871279 朱育民一.工作内容这学期跟李锡捷老师实习,参加的工作项目是信息安全组,因为平时较其它三位组员多接触unix-like的环境,因此成为本组组长并协助联络事情.我们期初一开始便有正式的case接手,是一个韩国的骇客教育机构hackerslab委托翻译他们的一份骇客教材.对于这方 ...