博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现LoadRunner多个场景的顺序执行
阅读量:4580 次
发布时间:2019-06-09

本文共 1474 字,大约阅读时间需要 4 分钟。

应用场景

假设有3个不同的测试场景,分别为并发登录、核心业务、可靠性测试,3个场景有先后执行顺序。由于白天测试机器另有用处,只能在晚上进行性能测试,这时我们的期望是能否把测试场景都设定好之后晚上自动运行,第二天我们回来看测试结果呢?
答案是肯定的,可以有两种方式实现。

第一种,相对简单

充分利用LR Controller里面Group的功能。
新建一个场景把3个脚本都添加进来,在Edit Schedule中选择“Schedule by Group”的方式,在StartTime中设置3个脚本的运行顺序为“Start when Group xxx finished”,并在“Scenario Start Time”中设定场景在晚上的运行启动时间。设定完定时执行场景后,点击StartScenario按钮,会出现一个倒计时窗口,这样在固定的某个时间上,测试场景中的3个脚本将乖乖的按照设定的先后顺序进行测试。注意,如果没有点击StartScenario按钮激活测试,是不会真正进行测试的。(感谢Athenst朋友的提醒,^_^)

第二种,比较灵活

我们把应用场景稍微扩展一下,假设其中1、3场景只有一个测试脚本,而核心业务场景由数据录入、数据查询、数据上报3个脚本组成,同样的,3个场景仍需按顺序进行测试。这时如果采用第一种方式,由于第2个场景有3个脚本,所以第三个脚本的启动时间就是一个问题了。由于Controller中每个脚本都对应一个Group,而且GroupName不能重复,这时第三个场景的StartTime中“Start when group finished”则只能是选择第二个场景中的某个Group,而并非是第二个场景的3个脚本都完成之后再进行,无法达到我们的初衷。
这时,可以通过命令行的方式来进行。
首先创建并设置好3个测试场景,再创建一个一个批处理程序按先后顺序调用这3个场景进行测试,最后通过Windows的定时任务设定批处理的执行时间。
批处理示例如下:
cls
SET M_ROOT="D:\Program Files\MI\Mercury LoadRunner\bin\"
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_1.lrs" -Run
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_2.lrs" -Run
%M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_3.lrs" -Run
这种方式比较灵活,但需要注意在Result Settings中设置“Automatically create a results directory for each scenario execution”,以免后面的测试结果覆盖了前面的。

另外补充一下,如果想对某个脚本进行50、100、150...等用户数递增的测试,也可以用以上方法实现,但需要注意的是将事务名称区分开以便进行分析。

转载于:https://www.cnblogs.com/bugua/archive/2012/11/26/2789317.html

你可能感兴趣的文章
Vue基础知识之axios和vue-resource
查看>>
asp.neti 加密三种方式
查看>>
winform 上传图片名到数据库
查看>>
Python 互斥锁
查看>>
两个div不同高度并排显示
查看>>
select文本居中
查看>>
什么是SQL statement?
查看>>
oracle小知识
查看>>
进制转换
查看>>
hdu 4524 郑厂长系列故事——逃离迷宫 解题报告
查看>>
.net图表之ECharts随笔04-散点图
查看>>
linux下时间的同步
查看>>
redis(七)---- SpringBoot和redis整合
查看>>
Apple Swift编程语言入门教程
查看>>
接口测试 dubbo 接口测试
查看>>
ORM表相关操作
查看>>
121. Best Time to Buy and Sell Stock【easy】
查看>>
运放输入相位补偿电容
查看>>
【转】<string> <string.h> <cstring>的区别
查看>>
Python基础:列表,元组和字典的基本操作
查看>>