第一:为什么用LoadRunner做功能测试自动化?
1、lr是模拟浏览器给服务器直接发送请求,而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脚本里设置循环及参数化来解决;
分享到:
相关推荐
### 如何在LoadRunner中增加QTP...通过以上步骤,我们可以成功地在LoadRunner中导入并运行QTP脚本,进而实现更高级别的测试自动化和性能测试。这不仅提高了测试效率,还能确保应用程序在高负载情况下的稳定性和可靠性。
- 在 LoadRunner Controller 中运行测试计划时,应仔细检查运行策略设置。特别是当需要同时运行多个 Vuser 时,需要确保策略能够满足并发执行的要求。 4. **调试与问题排查**: - 在实际应用过程中,可能会遇到...
1. **智能对象识别**:QTP能自动识别和适应应用中的对象,减少了脚本维护的工作量。 2. **Record and Playback**:通过录制用户操作,QTP可以生成测试脚本,简化测试创建过程。 3. **关键字驱动和数据驱动**:QTP...
8. **QTP与LoadRunner集成**:在性能测试中,QTP可以用于生成负载测试中的业务流程,与LoadRunner结合进行功能和性能的综合测试。 9. **结果分析与报告**:如何分析QTP的测试结果,生成测试报告,以及如何根据结果...
【描述】:LoadRunner和QTP是两种在IT行业中广泛使用的自动化测试工具,它们分别专注于性能测试和功能测试领域。本资料集合将详细介绍这两种工具的使用方法和核心概念。 【标签】:LoadRunner、QTP、自动化测试、...
### 安装QTP和LoadRunner注意事项 #### QTP(Quick Test Professional)简介 QTP是一种广泛使用的自动化测试工具,主要用于功能性和回归性测试。它支持多种应用技术,包括Web、Windows、Java、.NET等,并能与...
### LoadRunner 12 与 QTP 12 下载及简介 #### LoadRunner 12 LoadRunner 是一款由惠普(HP)公司开发的功能强大的性能测试工具,主要用于预测系统行为并优化性能。它能够模拟成千上万用户并发执行关键业务流程,...
临近春节过年回家之际,现场又出问题,并发情况下游标报错。一封邮件让我周末不得不加班研究如何来模拟实际生产环境。大致需求是根据抄表段编号和... 对于这样的问题,开始我想挺好解决的,只要在脚本中加个循环控
在本主题中,我们将深入探讨两种广泛使用的性能测试工具——QuickTest Professional (QTP) 和 LoadRunner。QTP 主要用于功能测试,而 LoadRunner 则是业界公认的性能测试利器。接下来,我们将分别介绍这两个工具以及...
【标题】LoadRunner与QTP是两款在软件测试领域中广泛应用的工具,它们分别专注于不同的测试类型,但都属于功能强大的自动化测试解决方案。 【LoadRunner】 LoadRunner是一款由HP(现已被Micro Focus收购)开发的...
4. **持续集成**:QTP脚本可以集成到持续集成环境中,每次代码提交后自动运行测试,确保产品质量。 5. **团队协作**:QTP支持版本控制和团队共享,多人协作完成大型测试项目。 四、学习与提升 对于想要深入掌握...
2. **避免硬编码**:减少脚本中的硬编码内容,使用参数化等方式提高脚本的灵活性。 3. **优化脚本结构**:合理组织脚本结构,如适当使用事务、函数等,便于管理和维护。 4. **考虑并发因素**:在设计脚本时考虑到...
首先,在QTP中创建一个新的测试脚本项目,然后选择“录制”模式,按照用户的正常操作流程进行录制。录制完成后,QTP会自动生成一段脚本代码,该代码包含了所有用户交互的操作步骤。接下来,可以根据具体需求对脚本...
测试结果的详尽报告有助于开发者优化系统性能,确保在生产环境中能够稳定运行。 结合这三款工具,可以实现从功能测试到性能测试的全面覆盖。QTP用于验证软件功能的正确性,Selenium确保Web应用在多浏览器环境下的...
高级QTP用户应熟悉如何在脚本中添加错误处理代码,以便在测试过程中遇到问题时能够正确捕获和处理。同时,利用QTP的调试工具,可以定位并解决脚本中的错误。 ### 七、对象间交互和事件模拟 QTP能够模拟用户的交互...
3. **负载测试**:虽然QTP11主要侧重于功能测试,但结合LoadRunner等工具可以进行简单的性能评估。 4. **接口测试**:尽管QTP11主要用于GUI测试,但也可以通过脚本实现对API的调用和验证。 #### 四、QTP11的安装与...
LoadRunner是一款性能测试工具,可以调用QTP脚本来执行功能测试。在QTP中设置LoadRunner测试脚本,可以通过services对象添加事务,通过插入"Start Transaction"步骤来标记事务的开始和结束。同时,Silent Test ...
3. 当UI变化但业务逻辑不变时,QTP脚本需调整,而LoadRunner脚本不受影响。 4. LoadRunner选择合适的网络协议来监听客户端和服务器间的通信,不支持补录。 总的来说,LoadRunner是性能测试的重要工具,通过它我们...
4. **检查点**:在脚本中插入检查点,可以验证应用程序的某个状态或属性是否符合预期。 5. **恢复场景**:当测试过程中出现错误,恢复场景可以帮助恢复到一个已知的良好状态,继续执行测试。 ### 四、QTP的应用...