google搜索 51Testing站内搜索                    软件测试门户 | 软件测试培 训 | 文章资料精选 | 软件测试论坛 | 软件测试博客 | 测试招聘求职 
打印

[求助] 如何让多个场景轮流执行

蛮好的一个问题,以后应该会碰到

TOP

测试结果


刚才试了一下,按顺序运行三个场景,最后却只出现了一个结果,为什么呢,怎么才能出现三个结果呢

TOP

转贴:分享一个比较好的solution


呵呵,找到一个比较好的帖子。
引用:
实现LoadRunner多个场景的顺序执行
注:以下内容部分总结自51testing论坛。

应用场景
假设有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...等用户数递增的测试,也可以用以上方法实现,但需要注意的是将事务名称区分开以便进行分析。
他们说人善被人欺,我说人善天不欺

TOP

有进一步的理解了组策略!

TOP

有进一布学习了LR的组策略!

TOP

谢谢了,学会了哈。嘿嘿

TOP

原来组是这么用的呀
学习了

TOP

为什么不用QC?
        记住,打球之人最忌招摇,就算你日后练成了老夫这样的盖世球技,也不可随意招摇。况且,练成了盖世球技又能怎么样呢?不过是盖世的孤独盖世的寂寞,不怕你们笑话,有时候午夜梦回怎么也睡不着,深深的失眠,这个时候我就想能够在月光下找个对手切磋一下,可是想来想去把整个乒坛成名人物想了一个遍,硬是寻不出一个对手,只能,只能长叹一声,翻个身继续睡!

TOP

看了66#的帖子总算有一点点理解了。。。。

TOP

长见识了。

TOP

理解深入些了

TOP

了解第一种方法

TOP

学习了,谢谢
在51testing的论坛里,让我学到了很多!!我会继续加油的!!谢谢向我伸出援助之手的所有伙伴们!!

TOP

为了楼主,为了积分,为了附件,我狂顶啊!!!!

TOP

很有用,谢谢
如果缘分不是偶然,就应该心向心。
如果朋友不是随兴,就应该真心相挚。

TOP

我想知道这个批处理程序怎么添加进去。。。谢谢。。

TOP

有时需要去计算前一个脚本的运行时间,在多少时间后开始第二个脚本的运行。

TOP

不错,还没用过,先长长见识

TOP

回复 18# 的帖子


事务处理啊 ,. 先加个父事务.再加个子事务不就行了吗?
  lr_start_transaction   还有一个是: lr_start_sub_transaction 就应该可以的.

TOP

场景只能同时运行一个
但是一个场景可以包括多个脚本
多个脚本之间可以通过group的方式来控制各脚本什么时候运行或者在哪个脚本运行之后开始运行

TOP

 
当前时区 GMT+8, 现在时间是 2008-10-13 03:41Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹