如何搭建python自动化测试框架

作者&投稿:程佳 (若有异议请与网页底部的电邮联系)
怎么搭建 python 的接口自动化测试框架?~

接口自动化测试整个框架搭建其实就是体现了封装的思想: 整个测试框架中可以划分成若干模块,比如:测试数据可以单独封装到 data 包,可以将请求业务实现封装进 api 包,将 unittest 封装进 case 包... 其他的工具类封装进 tools 包,测试报告生成在 report 包等等。想学习的话,去看看黑马程序员的课程大纲吧,官网找老师要点基础和进阶的视频,入门级别是可以了。

selenium 是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium ,相因为它相比QTP有诸多有点:
* 免费,也不用再为破解QTP而大伤脑筋
* 小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G 的程序。
* 这也是最重要的一点,不管你以前更熟悉C、 java、ruby、python、或都是C# ,你都可以通过selenium完成自动化测试,而QTP只支持VBS
* 支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome
* 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

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

搭建平台windows
准备工具如下:
-------------------------------------------------------------
下载python
-------------------------------------------------------------
如果你是新学python,哪果你没有要用的包是必须依赖于pyhton2.x 的,那么请毫不犹豫的选择python3.5吧!


window安装步骤:

1、下载python安装。


根据自己的操作系统32/64 位,选择相应的版本。
安装过程我就没必要描述,我的安装目录为:C:\Python35

2、进入cmd(windows命令提示符)下面输入"python"命令。
(如果提示python不是内部或外部命令!别急,去配置一下环境变量吧)

修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:
变量名:PATH
变量值:;C:\Python35;C:\Python35\Scripts;



3、安装selenium
3.1、通过pip 安装
C:\Users\fnngj>python3 -m pip install selenium
3.2、通过下载包安装
或者直接下载selenium包:
解压,cmd进入目录:
C:\selenium\selenium2.53.5> python3 setup.py install


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


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 webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.keys import Keysimport timebrowser = webdriver.Firefox() # Get local session of firefoxbrowser.get("hto.com") # Load pageassert "Yahoo!" in browser.titleelem = browser.find_element_by_name("p") # Find the query boxelem.send_keys("seleniumhq" + Keys.RETURN)time.sleep(0.2) # Let the page load, will be added to the APItry:browser.find_element_by_xpath("//a[contains(@href,'httpmhq.org')]")except NoSuchElementException: assert 0, "can't find seleniumhq"browser.close()


(运行过程中如果出现错误:
WebDriverException: Message: u'Unexpected error launching Internet Explorer.
Protected Mode settings are not the same for all zones. Enable Protected Mo
de must be set to the same value (enabled or disabled) for all zones.'
更改IE的internet选项->安全,将Internet/本地Internet/受信任的站定/受限制的站点中的启用保护模式全部去 掉勾,或者全部勾上。)

-----------------------------------------
selenium + python的一份不错文档

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

安装Chrome driver
chrome driver的下载地址在这里。
1. 下载解压,你会得到一个chromedriver.exe文件(我点开,运行提示started no prot 9515 ,这是干嘛的?端口9515被占了?中间折腾了半天),后来才知道需要把这家伙放到chrome的安装目录下...\Google\Chrome\Application\ ,然后设置path环境变量,把chrome的安装目录(我的:C:\Program Files\Google\Chrome\Application),然后再调用运行:

# coding = utf-8from selenium import webdriverdriver = webdriver.Chrome()driver.get('http:om')print driver.titledriver.quit()

又报了个错:
Chrome version must be >= 27.0.1453.0
(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的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driver。
暂时还没尝试,应该和chrome的安装方式类似。

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

1
新建一台Jenkins服务器,安装并配置好Jenkins

2
配置一个自动化测试脚本的代码库,可以使用Git或者SVN等版本控制工具。然后在Jenkins服务器上配置一个Job,负责自动的同步最新代码到Jenkins服务器上。
3
配置要跑自动化测试的虚拟机VM,推荐干净环境下安装需要跑自动化测试的依赖软件工具或者配置以及自动化测试工具(不提前安装配置也行,可以在跑自动化之前用另外的脚本自动安装配置),配置好之后关机并打一个snapshot镜像快照,并命名为prebuild或其它。

4
新建一个Jenkins Job,用来跑自动化。配置需要连接并使用的自动化测试虚拟机,配置要构建的自动化测试框架xml脚本文件(后面步骤有说明)和target,以及要归档的测试报告,邮件发送等等。

5
接下来的重点就是自动化测试框架的xml脚本文件了,首先里面定义一个target,负责获取自动化测试对象的安装包。
6
接着定义一个target(可选),负责从版本库上获取自动化测试脚本同步到Jenkins服务器上(也可以直接使用Jenkins Job本身的插件配置来获取代码)。
7
定义一个target,负责连接到虚拟机服务器,并恢复到虚拟机的原始状态例如prebuild,然后开机
8
定义一个target,负责拷贝项目产品安装包和自动化测试源代码到目标虚拟机上。
9
定义一个target,负责连接到目标测试虚拟机,并打开自动化测试工具,然后运行自动化测试脚本
10
定义一个target,负责处理自动化测试报告文件和日志文件并把它们从自动化测试虚拟机拷贝到Jenkins服务器对应的Job工作空间下。
11
最后定义一个主target,按照上面的target流程依次调用。这个主target就是Jenkins服务器上的自动化测试Job中配置的需要构建的Target。

Auty文件夹结构介绍
1. actions文件夹:包含了和业务相关的包含可复用方法的脚本文件,根据业务的不同可以在actions文件夹下创建不同的业务文件夹;
2. constants文件夹:包含了常量初始化的python脚本文件,根据业务划分可以再创建子文件夹或多个常量文件;
3. data文件夹:包含了测试用的数据;
4. lib文件夹:包含了支持框架运行的python文件;
5. log文件夹:包含了运行测试过程中生成的日志文件;
6. results文件夹:包含了测试结果文件;
7. scripts文件夹:包含了scripts文件夹和selections文件夹;
1)scripts文件夹下包含了测试脚本(可根据业务划分成多个子目录);
2)selections文件夹下包含了suite文件(包含了需要执行的脚本路径集合);
8. utils文件夹:包含了和业务逻辑无关的包含可复用方法的脚本文件;
Auty文件结构介绍
1. Auty文件夹下:
1)__init__.py文件:包结构所必需文件(以下所有涉及可调用脚本的文件夹下均需有此文件);
2)config.txt文件:Auty框架配置说明文件;
3)recovery.py文件:垃圾代码回收文件(用来回收执行测试过程中因故障未能自动删除的自动生成的代码);
4)requirements文件:包含了框架所需要安装的python库信息;
5)setup.py文件:执行脚本以安装requirements文件中所包含的python库;
6)start.py文件:执行脚本以启动接口自动化测试;
2. lib文件夹下:
1)exe_deco.py文件:包含修饰脚本运行时方法的文件;
2)execute_selection.py文件:包含运行suite集合下脚本方法的文件;
3)generate_html.py文件:包含根据生成的csv格式测试结果文件生成html类型测试结果文件方法的文件;
4)generate_result.py文件:包含生成csv格式测试结果方法的文件;
5)read_selection.py文件:包含读取可执行的脚本列表方法的文件;
6)recovery_code.py文件:包含垃圾代码回收方法的文件;
7)write_log.py文件:包含生成日志文件方法的文件;
3. scripts文件夹下:
1)create_selection.py文件:包含创建suite文件(all_scripts_selection.txt)方法的文件;
Auty使用步骤
1. 运行Auty/setup.py文件;
2. 编写接口测试python脚本并放到Auty/scripts/scripts目录(或子目录)下;
3. 运行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;
4. 修改Auty/scripts/all_scripts_selection.txt文件自定义test_selection.txt文件(名字随意起)并放到Auty/scripts/selections文件夹下;
5. 运行Auty/start.py文件开始接口自动化测试;
6. 在Auty/results文件夹下生成的测试结果文件中查看测试结果。
Auty编写过程
这个框架里scripts、utils、actions、contants四个文件夹中的内容是根据实际工作内容可以随意替换的,其他为Auty接口自动化测试框架必需的组成部分


python是什么语言
python的中文名称是蟒蛇。Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初是用来编写自动化脚本的,随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。Python特点主要有以下几个方面:1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的...

如何在家自学编程,成为一名优秀的程序员?
或是探索数据领域的深度挖掘?前端开发,如同搭建用户界面的艺术家,HTML、CSS和JavaScript是基础,热门框架Vue和Node.js则助你拓展视野。前端的学习路径,不妨从基础的HTML+CSS+JS开始,然后逐步掌握Vue等现代框架。转向后端,编程语言是基石,Java是热门选择,同时Python或Go语言也能提供额外的技能。深入学习...

零基础参加python培训需要学习多久?
4、Spyder:提供高级的代码编辑、交互测试、调试等特性,支持包括Windows、Linux和OSX系统。感兴趣的话点击此处,免费学习一下想了解更多有关python的相关信息,推荐咨询【达内教育】。该机构是引领行业的职业教育公司,致力于面向IT互联网行业培养人才,达内大型T专场招聘会每年定期举行,为学员搭建快捷高效的...

有必要参加python培训班吗?
有必要参加python培训班,参加培训机构可以学习到更多专业系统的知识。如需学习python推荐选择【达内教育】,该机构每日课后项目经理知识点梳理每周阶段性项目考核,成绩不合格免费重修,确保达到企业需求。选择达内培训机构可以先入职再付款,解决学生的经济困扰。【python培训课程】大致如下:1、了解Python是什么...

参加python培训班有必要吗
参加Python培训班有必要,因为培训班的课程安排、教学质量更好,学习起来更快一些,周期一般在五个月左右,理论结合实战项目讲解,贴合企业的实际需求,后期即便是找工作遇到问题,也有很好的就业指导帮助。如需学习Python,推荐选择【达内教育】。自学的话,一些基础的东西靠理解记忆,但是涉及到项目,就有点...

低代码平台有何优势,如何改变现有软件开发模式,帮助企业实现商业价值...
以下是低代码平台给医疗领域带来的一些便捷之处:一、减少了进入市场的时间 用户通过低代码平台提供的可复用组件、内置的模版和拖拽功能,能够加速开发,不管应用复杂与否都能快速搭建出一个 MVP。这样一来,一个应用程序的上市时间将至少减少到 100 天左右,相较于传统的定制化方案需要的 3 到 5 个月...

软件开发需要学什么?
1、JavaScript是重点也是难点 Web开发分为前端开发和后端开发两大部分,前端开发需要学习三个基本知识,包括Html5、CSS3和JavaScript,其中JavaScript是重点也是难点。后端开发可以采用众多开发语言,其中比较流行的编程语言包括Java、PHP和Python。2、Java或者kotlin语言 纵观现在的手机平台,已经可以说是安卓和...

一名合格数据分析师需要具备哪些基本技能?
脚本编程言语(Scripting Language):Python; Matlab 计算言语(Statistical Language):R; SAS; SPSS 数据表(Spreadsheet):Exce 3、具有图像剖析才干和呈现才干 将数据加以剖析,呈现出可视化图像,便于职工了解是数据分析师的必备技术。因而,咱们需求具有运用仪表板来构建仪表盘,并生成相应的报告,进而展示...

编程入门先学什么?
个人推荐入门C语言或者python :\\x0d\\x0aC语言语法简单,有良好的逻辑抽象,入门的话还是先面向过程吧,不要刚学就面向对象云里雾里的,如果是要更全面、深入的学习语言本身就C.\\x0d\\x0apython语法更加简单简洁易学,而且有各种强大的库,扩展库,可过程可对象,如果是为了通过编程这一手段来迅速的...

电脑编程入门书籍,应该先看什么
C++基础篇: 1:《C++Primer(3or4版)》入门第一部.2:《深入浅出MFC》 侯捷着 国货精品,本应归入学习vc的范畴,但他实际是对widows API的c++框架介绍,用来做vc项目只能起辅助作用,对建立c++面向对象思想却多有启迪。3: 《C++标准程序库》 侯捷\/孟岩译 库是语言的延伸,学习c++不可不看。4: ...

兴隆县15973564751: 如何搭建python自动化测试框架 -
冻庆复方: Auty文件夹结构介绍1. actions文件夹:包含了和业务相关的包含可复用方法的脚本文件,根据业务的不同可以在actions文件夹下创建不同的业务文件夹;2. constants文件夹:包含了常量初始化的python脚本文件,根据业务划分可以再创建子文...

兴隆县15973564751: 怎么用python做自动化测试 -
冻庆复方: 1新建一台Jenkins服务器,安装并配置好Jenkins2配置一个自动化测试脚本的代码库,可以使用Git或者SVN等版本控制工具.然后在Jenkins服务器上配置一个Job,负责自动的同步最新代码到Jenkins服务器上.3配置要跑自动化测试的虚拟机...

兴隆县15973564751: 如何用python做自动化测试 -
冻庆复方: 目前大家对Python都有一个共识,就是他对测试非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用Python进行自动化测试,本文只是自己的一点点分享,若有错误,请大...

兴隆县15973564751: Windows下怎么搭建Python+Selenium的自动化环境 -
冻庆复方: 环境搭建步骤(Windows7,64位): 第一步:安装Python 第二步:安装Python的SetupTools 第三步:安装Python的包管理工具 pip 第四步:安装基于Python的Selenium包 第五步:验证Selenium安装是否成功 第六步:python的开发环境配置 第七步:kinitter框架依赖的第三方python包【64位】

兴隆县15973564751: 如何搭建Python3.5+Selenium的自动化测试环境 -
冻庆复方: 可以通过以下命令安装:pip install Cython 如果使用 Anaconda,安装会有所不同.

兴隆县15973564751: Windows下怎么搭建Python+Selenium的自动化环境 -
冻庆复方: Windows下搭建Python+Selenium的自动化环境的步骤:1、下载Python2.7版本,默认运行安装即可; 2、安装完成之后,设置Python环境变量C:\Python27(操作步骤: 电脑->属性->高级->环境变量->系统变量中的PATH为:变量值: ;C:\...

兴隆县15973564751: python和selenium怎么做自动化测试 -
冻庆复方: 1,去官网下载selnium对应的python包2,集成相关的包到项目中3,下载需要的浏览器驱动4,编写demo 指定浏览器驱动 初始化webdriver5,基于webdriver编写你的功能 希望我的回答能帮助到您

兴隆县15973564751: 如何搭建自己的自动化测试框架 -
冻庆复方: 这段时间一直在为公司内部开发 自动化测试框架 ,简称GTF,因为这个框架现在还属于开发阶段,很多事都是言之过早.我会持续将我在架构过程中的想法写下来.供自己和大家一起分享. 这些想法,并不属于我一个人,我工作中的同事们给...

兴隆县15973564751: python selenium自动化测试应该怎么 -
冻庆复方: 使用python的单元测试框架,可以建立测试类,构造测试集. 测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法.

兴隆县15973564751: 怎么利用python和selenium,firefox 搭建自动化测试环境 -
冻庆复方: 构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前分别在三个最通用的浏览器上通过脚本来测试.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网