51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

楼主: 423799223
打印 上一主题 下一主题

[资料] 如何让多个场景轮流执行

[复制链接]

该用户从未签到

61#
发表于 2007-10-12 16:54:13 | 只看该作者

测试结果

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

使用道具 举报

该用户从未签到

62#
发表于 2007-10-15 17:00:50 | 只看该作者

转贴:分享一个比较好的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...等用户数递增的测试,也可以用以上方法实现,但需要注意的是将事务名称区分开以便进行分析。
回复 支持 反对

使用道具 举报

该用户从未签到

63#
发表于 2007-10-15 21:19:53 | 只看该作者
有进一步的理解了组策略!
回复 支持 反对

使用道具 举报

该用户从未签到

64#
发表于 2007-10-15 21:22:56 | 只看该作者
有进一布学习了LR的组策略!
回复 支持 反对

使用道具 举报

该用户从未签到

65#
发表于 2007-10-16 16:38:13 | 只看该作者
谢谢了,学会了哈。嘿嘿
回复 支持 反对

使用道具 举报

该用户从未签到

66#
发表于 2007-10-18 17:59:17 | 只看该作者
原来组是这么用的呀
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

67#
发表于 2007-10-18 20:17:54 | 只看该作者
为什么不用QC?
回复 支持 反对

使用道具 举报

该用户从未签到

68#
发表于 2007-11-28 10:13:37 | 只看该作者
看了66#的帖子总算有一点点理解了。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

69#
发表于 2007-11-30 18:03:22 | 只看该作者
长见识了。
回复 支持 反对

使用道具 举报

该用户从未签到

70#
发表于 2007-12-13 17:24:14 | 只看该作者
理解深入些了
回复 支持 反对

使用道具 举报

该用户从未签到

71#
发表于 2007-12-14 15:15:35 | 只看该作者
了解第一种方法
回复 支持 反对

使用道具 举报

该用户从未签到

72#
发表于 2007-12-21 10:40:20 | 只看该作者
学习了,谢谢
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-29 15:03
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    73#
    发表于 2007-12-24 19:17:09 | 只看该作者
    为了楼主,为了积分,为了附件,我狂顶啊!!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-9-4 15:16
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    74#
    发表于 2007-12-26 10:27:59 | 只看该作者
    很有用,谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    75#
    发表于 2008-1-12 23:23:51 | 只看该作者
    我想知道这个批处理程序怎么添加进去。。。谢谢。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    76#
    发表于 2008-1-14 13:36:00 | 只看该作者
    有时需要去计算前一个脚本的运行时间,在多少时间后开始第二个脚本的运行。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    77#
    发表于 2008-1-15 16:51:40 | 只看该作者
    不错,还没用过,先长长见识
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    78#
    发表于 2008-1-29 14:37:35 | 只看该作者

    回复 18# 的帖子

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

    使用道具 举报

    该用户从未签到

    79#
    发表于 2008-1-30 09:46:42 | 只看该作者
    场景只能同时运行一个
    但是一个场景可以包括多个脚本
    多个脚本之间可以通过group的方式来控制各脚本什么时候运行或者在哪个脚本运行之后开始运行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    80#
    发表于 2008-2-21 22:16:35 | 只看该作者

    回复 80# 的帖子

    利用loadrunner  的命令行工具,写个BAT文件执行最简单实惠了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-2 19:11 , Processed in 0.082431 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表