实现LoadRunner多个场景的顺序执行

应用场景 假设有3个不一样的测试场景,分别为并发登陆、核心业务、可靠性测试,3个场景有前后执行顺序。因为白天测试机器另有用处,只能在晚上进行性能测试,这时咱们的指望是可否把测试场景都设定好以后晚上自动运行,次日咱们回来看测试结果呢? 答案是确定的,能够有两种方式实现。web

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

第二种,比较灵活 咱们把应用场景稍微扩展一下,假设其中一、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...等用户数递增的测试,也能够用以上方法实现,但须要注意的是将事务名称区分开以便进行分析。测试

相关文章
相关标签/搜索