您的位置:首页 > 其它

自动化测试

2016-01-26 17:34 232 查看
自动化测试

主要用于回归测试

基于ui层面的自动化测试

什么叫自动化测试:

1、广义上:自动化包括一切通过工具(程序)的方式来 代替或辅助 手工测试的行为都可以看做自动化

2、狭义上:通过工具 记录或编写脚本 的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而 代替或辅助 人工对系统的功能进行验证

转换条件:

1、2级正向用例

自动化的局限性:

1. 发现的缺陷少

2. 界面ui测试不可能转换成自动化

3. 不能灵活处理意外事件或突发状况

4. 时间成本高

5. 项目的局限性

为什么要做自动化测试

1.避免重复的工作

2.节约时间、人力成本

3. 测性能,模拟大数据,多用户同时使用

适合自动化的项目

1.需求变动不频繁

2.项目周期长

3.脚本复用

变动大的人工,变动不大自动化

工具

项目系统架构:B/S 、 C/S

B/S架构:autoRunner、robotFramework、Selenium2Library….

C/S架构:qtp、autoRunner…..

自动化测试‘框架’RFS:

RobotFramework+ Selenium2Library(测试库)

基于python

Robot Framework特点

1.使用简单

2.非常丰富的库(标准库、加载其他库)

3.像编程一样编写

4.支持开发系统关键字

rfs默认启动驱动为火狐的

定位方式问题:

遇见tr有可能什么方式都定位不了

id,name…(优先)、绝对路径、相对路径

定位方式:

Id\name元素定位

id,name…(查看源码唯一id和name)(优先使用)



Xpath定位

什么是xpath,含义

xml路径语言,XPath 是一门在 XML文档中查找信息的语言

XPath 使用路径表达式在 XML文档中进行导航
XPath 包含一个标准函数库
XPath 是 XSLT中的主要元素
XPath 是一个 W3C标准

绝对路径:

完整(源码copyxpath)

层级太深不建议使用绝对路径

路径前最好加上xpath=xxxxx(有些不加有问题)

//:表示当前层级下; *:表示某个标签名



图片验证码(补充):

1.因变动大,手工测

2.叫开发注释掉图片验证码

3.叫开发给一个万能验证码

相对路径:

相对于现在所处位置的路径

有tr表单嵌套,相对路径定位会不成功

1.通过索引定位

xpath=//input 。。。。xpath=//input[1] 都可以



2.通过元素本身属性值定位



1. *改成input(他的上级)效果相同。

2.name改成type或value属性效果相同(只要唯一就可以)

3.找上级:



没有id、name可以找上级,上级不行就再上级,一直往上找

自定义关键字

分层设计

1.脚本的分离(用户关键字)

1.封装步骤,调用关键字使用(全选用例列表,右键导出关键字)

2.直接右键new user keyword

单条数据封装:



形成用例:



多条数据封装:



形成用例:



*2.数据的分离(变量、.py文件)

1.定义一个变量(右键newscalar全局变量)

2.建数据,数据放在文件后缀为.py里(输入中文时,数据前面加u(作用统一字符类型)),建完文件放在目录文件夹里

3.调用文件中的数据(右键newuser keyword,把调用数据的用例封装了)

例子:





最终完成版用例:



3.业务流程的分离(资源)

1.把变量和封装关键字存放在新建的resource里面(右键目录)



2. 有可以复用的模块(如:新增和编辑),可以把组件里的关键字单独封装成单个的(如:新增里的每个输入框单独一个),再在用例里调用

乱码注意:

变量和封装关键字存放在新建的resource里面(右键目录),打开文件有乱码情况:

1.进入C:\Python27\Lib\site-packages\robot\utils

2.修改encodingsniffer.py文件,把cp437改成cp936(打开方式:edit with idel)

例子:

else:

DEFAULT_SYSTEM_ENCODING = 'cp1252'

DEFAULT_OUTPUT_ENCODING= 'cp437'

总结:

我们使用robotframework结合selenium2library来做自动化测试,简称rfs。

阶段:回归测试、验收测试

简单、丰富的库、支持开发系统关键字

关键字驱动测试方法

特定操作步骤,执行脚本

分离的用处:测试流程清晰、简化案例设计、以文本形式单独保存

Qtp:易产生重复脚本,仅支持ie和fifox,,操作平台仅支持windows

Rfs:python、java。。。跨平台

robotframework相关安装包和安装顺序:
1、安装python-2.7.5.msi(一切的基础,可用已经下载好的包,也可以自行到下面网站上下载http://www.python.org/download/releases/2.7.5/
2、setuptools (用于后续的一些测试库的安装支持,https://pypi.python.org/pypi/setuptools/
3、wxPython2.8-win32-unicode-2.8.12.1-py27.exe(wxPython,RIDE需要他的支持,http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
4、robotframework-2.8.1(robotframework本身。http://code.google.com/p/robotframework/downloads/list
5、robotframework-ride-1.2.3.win32.exe(robotFramework的IDE,目前最新1.3.0,http://code.google.com/p/robotframework-ride/downloads/list,如有中文乱码问题请参考:/article/1357155.html

在环境变量PATH中加入Python的路径,如果安装在D:\Python27,那么一般建议在PATH中增加D:\Python27和D:\Python27\Scripts
两个路径。


6、decorator-3.3.3(S2L库的依赖库。https://pypi.python.org/pypi/decorator/3.4.0
7、docutils-0.11(S2L库的依赖库。https://pypi.python.org/pypi/docutils/0.11
8、selenium-2.21.3(是selenium的原生python库,要到python官网下载https://pypi.python.org/pypi/selenium/2.35.0,而IEDriver.exe要到GOOGLE下载http://code.google.com/p/selenium/
9、robotframework-selenium2library (selenium2测试库,基于webdriver驱动,最新release是1.5.0,下载:https://github.com/rtomac/robotframework-selenium2library/releases,如有问题请参考:/article/1357163.html

10、pywin32-218.win32-py2.7.exe(版本较多,请注意py版本http://sourceforge.net/projects/pywin32/files/pywin32/
11、AutoItLibrary-1.1(必须先安装上面的pywin32,并且Python的安装目录不能有空格,如果有空格会导致注册autoit的dll时出错。版本一直是1.1,下载路径:http://code.google.com/p/robotframework-autoitlibrary/

13、IE的设置:

1).IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上)

2).IE选项设置的连接页中,局域网设置里的代理服务器设置,不能勾选。如果需要配置代理,请使用上面的pac自动配置脚本来使用代理。

3).IE页面的显示比例要为100%

4).下载IEDriverServer.exe文件,放到环境变量path路径的目录里或把他所在的目录加到path环境变量中

安装说明:
a、如果是exe的直接安装就好了。
b、对于只有源代码的测试库(只有py文件)的安装,请在进入cmd命令行后(注意以管理员身份运行),进入测试库的目录(有setup.py的目录),输入python
setup.py install进行安装。

如果提示python不是命令,请把python的安装目录加到环境变量的path中。
c、对于只有egg文件的测试库的安装,需要先安装setuptools(写这篇文章时最新版本为setuptools-0.6c11.win32-py2.7.exe),安装之后,在命令行使用easy_install加egg文件名或目录名,例如easy_installdocutils-0.9-py2.7.egg
以上两个在命令行进行安装的方式,必须先要在环境变量PATH中加入Python的路径,如果安装在D:\Python27,那么一般建议在PATH中增加D:\Python27和D:\Python27\Scripts
两个路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: