您的位置: 首页 > 软件教程 > LoadRunner教程专题 > 为什么用LoadRunner做功能测试自动化

为什么用LoadRunner做功能测试自动化

8.2分
出处:网络 时间:2011-05-13

您可能感兴趣的话题: LoadRunner  

核心提示:lr是模拟浏览器给服务器直接发送请求,而ant; TEXT-DECORATION: underline">QTP是模拟鼠标键盘的操作。

  1、lr是模拟浏览器给服务器直接发送请求,而ant; TEXT-DECORATION: underline">QTP是模拟鼠标键盘的操作。

  故:LR脚本可以做验证流程的功能自动化,但是验证的大多是后台数据处理流程的正确性,QTP可以验证流程也可以验证UI。

  2、LR录制脚本是类C语言,QTP是vbscript。

  故:你若对c了如指掌自然也可用lr加入复杂的检查点完成功能自动化,QTP由于使用vbscript是windows嫡系子孙,调用一些wshell dom等可以很好的操作UI。

  3、最后一条:LR脚本比QTP脚本容易维护。

  4、qtp是基于对象库的,而LR是基于协议的,前者是属于黑盒测试范畴,前台进行处理,而后者是基于协议,是后台进行处理的。如果非得用LR也未尝不可,只是舍近求远,毕竟QTP是专业的自动化工具。另外做功能测试不可能不关注UI界面。

  5、QTP的检查点类型比较多,如下:

QuickTest Professional提供了下列类型的检查点:

检查点类型

描述

用法示例

标准检查点 检查对象的属性值 检查是否选中某单选按钮
图像检查点 检查图像的属性值 检查图像源文件是否正确
表检查点 检查表中的信息 检查表单元格中的值是否正确
页面检查点 检查网页的特性 检查加载网页所需的时间,或者检查网页是否包含中断链接
文本/ 文本区域检查点 检查文本字符串是否显示在网页或应用程序窗口中的适当位置 检查预期的文本字符串是否显示在网页或对话框上的预期位置
位图检查点 将网页或应用程序的某个区域捕获为位图后对其进行检查 检查网页或网页的任何部分是否能按预期显示
数据库检查点 检查应用程序或网站所访问的数据库内容 检查数据库查询中的值是否正确
可访问性检查点 对网站区域进行识别,以检查是否符合508部分 检查网页上的图像是否包含ALT属性(该属性是W3C Web内容可访问性规则所要求的)
XML检查点 检查XML文档的数据内容 注意:XML文件检查点用于检查特定的XML文件;XML应用程序检查点用于检查网页中的XML文档

  第二:LR中运行QTP脚本

  1、运行准备:

  1)勾选QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"

  2)录制需要在lr中运行的QTP脚本,并且在QTP脚本中设置事务,Services.StartTransaction "start"与Services.EndTransaction "start"

  2、运行QTP脚本

  在LR中运行时选择QTP脚本,为QTP脚本存放目录下文件扩展名为.usr的文件。

  注:LR中运行QTP脚本时,只能有一个Vuser,否则将报错:

  The load generator is currently running the maximum number of Vusers of this type

  3、可能报错:

  1)如果LR运行时报"LR没有相关的license"错,可以在LR里增加一个1000个的global license,注册号码为:AEACFSJI-YASEKJJKEAHJD-BCLBR

  2)运行测试时,需要先将QTP关闭;

  3)LR执行大于1个以上的虚拟用户时会提示:The load generator is currently running the maximum number of Vusers of this type,

  所以,QTP脚本在LR中运行一台计算机只能运行一个GUI Vuser,如果要同时运行多个用户,可以QTP脚本里设置循环,循环可通过QTP的datatable设置需要运行的用户,或是在QTP里通过FOR,NEXT语句来设置次数。或是在controller里同时开启多个相同的脚本,然后分散在不同的电脑上运行,注意:各终端一定要开启LR的LR Agent Process及QTP的TOOS-Remote Agent代理服务。

  注1:设计供LR运行的测试用例应遵守以下规则:

  LR不能运行嵌套操循环;

  请勿包括对外部操作或其他外部资源(如外部数据表文件,环境变量文件,共享对象库等)的引用。

  注2:设计供业务流程监视器使用的测试时,应遵守以下规则:

  对应的StartTransaction和EndTransaction语句必然包含在同一个操作内。

  业务流程监视器不使用QTP的setting-run中的循环设置,而是使用数据表中文件中的行数。

  注3:在LR的controll中,Run-time Settings中只有常规类别与子类别有效,回放选项不起任何作用。

  如以下脚本:

  Services.StartTransaction "start"

  For i=1 To DataTable.GetSheet(dtLocalSheet).GetRowCount

  Window("Tencent Traveler").WinEdit("Edit").SetSelection 0,19

  Window("Tencent Traveler").WinEdit("Edit").Set "www.diy.com"

  Window("Tencent Traveler").WinEdit("Edit").Type micReturn

  Window("Window").Page("产品介绍-建站易").Link("模板仓库").Click

  Window("Window").Page("模板仓库-建站易").Link("在线帮助").Click

  Window("Window").Page("在线帮助-建站易").Link("关于我们").Click

  datatable.GetSheet("Action1").setnextrow

  Next

  Services.EndTransaction "start"

  在LR中运行QTP脚本的注意事项

  1、QTP的Tools--Options--Run的"Alow other Mercury products to run tests and components"选项要打勾;

  2、在QTP脚本中设置事务,Services.StartTransaction "start"与Services.EndTransaction "start"

  把需要在LR运行的脚本放在此事务里面;

  3、在LR中运行时选择QTP脚本,文件扩展名为.usr的;

  4、在LR中运行QTP脚本时,要把QTP关闭;

  5、只能在LR的Controller中运行;不能在Virtual User Generator中打开及回放;

  6、LR要使用global的license,单单WEB的license不行,会报错;

  7、Controller运行中,只能执行1个虚拟用户,大于1个以上的虚拟用户会提示错误;

  如果需要运行多个用户,只能在QTP脚本里设置循环及参数化来解决;

网友评论
多特网友 2013-03-08 23:57:22 回复
新手..进来学习学习!
多特网友 2013-03-08 23:57:22 回复
新手..进来学习学习!
精品软件课程
更多 >
快播播放器(Qvod Player)是一款基... [详细]
360安全卫士是当前功能最强、效果最好、最受... [详细]
会声会影(Corel VideoStudio... [详细]
腾讯QQ支持在线聊天、视频电话、点对点断点续... [详细]
搜狗拼音输入法是网上最流行、功能最强大的拼音... [详细]
Windows 7 是由微软公司开发的,具有... [详细]