1. 首页 > 星座 > 文章页面

如何搭建自己的自动化测试框架(怎么搭建自动化测试框架)

自动化测试框架de详细搭建

大家好,感谢邀请,今天来为大家分享一下如何搭建自己的自动化测试框架的问题,以及和自动化测试平台搭建的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

本文目录

如何搭建python+selenium自动化测试框架如何搭建自己的自动化测试框架如何搭建python+selenium自动化测试框架

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 seleniummon.exceptions import NoSuchElementExceptionfrom selenium.webdrivermon.keys import Keysimport time

browser= webdriver.Firefox()# Get local session of firefoxbrowser.get("hto")# Load pageassert"Yahoo!" in browser.title

elem= 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'UnexpectederrorlaunchingInternetExplorer.

ProtectedModesettingsarenotthesameforallzones.EnableProtectedMo

demustbesettothesamevalue(enabledordisabled)forallzones.'

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

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

selenium+python的一份不错文档

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

安装Chromedriver

chromedriver的下载地址在这里。

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

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

driver.quit()

又报了个错:

Chromeversionmustbe>=27.0.1453.0\n(Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)

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

安装IEdriver

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

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

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

记得配置IE的保护模式

如果要使用webdriver启动IE的话,那么就需要配置IE的保护模式了。

把IE里的保护模式都选上或都勾掉就可以了。

如何搭建自己的自动化测试框架

这段时间一直在为公司内部开发

自动化测试框架

,简称GTF,因为这个框架现在还属于开发阶段,很多事都是言之过早。我会持续将我在架构过程中的想法写下来。供自己和大家一起分享。

这些想法,并不属于我一个人,我工作中的同事们给了我很大的帮助。

今天这一篇主要说明架构方面的考虑。

在现有的提供自动化测试解决方案的产品很多,包括:Robot,TestComplete,WinRunner等等。我只接触过这些,公司里也进行过很大的尝试,但是结果往往总是不竟如人意。

这中间,排除那些人员方面的原因,也总结这些自动化工具

,在使用过程中的不方便的地方:

1.定位控件不方便。标准控件还好,非标准控件就只能靠很多非正常方法去获取。而且,控件的识别往往和界面布局相关。

3.代码维护不方便。由于在编写过程中,大量的和界面相关的代码,导致最后在需求变更的时候,代码的维护,成为软件测试人员的负担。

针对这些情况,我们经过讨论,何不自己做一个软件测试框架。当然了,这是基于我们的丰富的知识积累的决策。大家不需要关心这个决策的情况。不过,可以多关注一些我们在做的过程中的分析结果。

通过分析流行的软件测试框架,有多种方式:

第一、最典型的就是消息驱动,自动化工具通过脚本录制和编写,保存为测试脚本。在回放的过程中,将这些脚本转换成为Windows消息,发送给我们应用程序的窗体和各种控件。

这种方式的好处在于,自动化工具和应用程序之间能够做到完全的隔离。但是,由于使用了Windows消息,它也拥有了一个非常致命的缺点。那就是消息队列的异步性与程序的顺序性之间的矛盾。很多消息发送给了应用程序,但是应用程序的处理可能已经和消息队列错位了。有一些关于代码的时间片等待,就是因为这个问题。

另外,就是由于完全的隔离,对于操纵控件数据的能力大大降低。毕竟,拥有大量数据的控件都不是标准控件。

第二、嵌入式

。TestComplete就是这类工具。它有支持不同语言的版本。大概思路,就是在程序编译的时候,注入自己的控件代理。脚本的回放,直接可以通过代理,操纵到应用程序。

可惜的是,这类软件开发的时候,更多的是考虑平台的兼容性。对于特有平台上的支持不是十分完美。特别是对自定义控件(比如Delphi中,除了VCL的标准控件)支持也没有做到最好。不过,我这里必须承认,TC的内部实现机制可能十分强大,我不能窥探所有。如果有人清晰,可以指点一二。

针对上面的两种,我们想到的第三种方式:一体式。这种方式中,通过给程序在打包的过程中,添加额外的框架代码,使得程序自动提供控件的访问方式。自动化的模块也会作为软件测试程序的一部分运行。

应用程序在执行脚本的时候,自动通过脚本

,控制各控件界面的显示和关闭。它应该是第二种方式的变种。但是由于是自己实现的,所以在对各类自定义控件支持的都非常好。

针对一开始提出的几个自动化测试的难题,我们提出了,自动封装窗体上所有控件的概念(这些概念后面会详细介绍),对于软件测试人员,只要关心真正的业务操作流程。而业务流程中涉及到的控件,已经为他们自动提供好。这样,脚本也自然只成了业务流程的脚本。其复杂度也就大大降下来了。

如果要推荐2个工具的话,我就推荐泽众软件公司的

自动化测试工具AutoRunner和测试管理工具Testcenter

,用这2个软件合作可以很好的进行自动化测试与对测试用例进行管理。

关于如何搭建自己的自动化测试框架到此分享完毕,希望能帮助到您。

什么是自动化测试框架 我们该如何搭建自动化测试框架