• 实现LoadRunner多个场景的顺序执行(命令行)


    应用场景:

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

    答案是肯定的,可以有两种方式实现:(LR9.5之后)

    第一种

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

    第二种

    比较灵活 我们把应用场景稍微扩展一下,假设其中1、3场景只有一个测试脚本,而核心业务场景由数据录入、数据查询、数据上报3个脚本组成,同样的,3个场景仍需按顺序进行测试。这时如果采用第一种方式,由于第2个场景有3个脚本,所以第三个脚本的启动时间就是一个问题了。由于Controller中每个脚本都对应一个Group,而且GroupName不能重复,这时第三个场景的StartTime中“Start when group finished”则只能是选择第二个场景中的某个Group,而并非是第二个场景的3个脚本都完成之后再进行,无法达到我们的初衷。 这时,可以通过命令行的方式来进行。 首先创建并设置好3个测试场景,再创建一个批处理程序按先后顺序调用这3个场景进行测试,最后通过Windows的定时任务执行批处理脚本任务,批处理脚本中通过命令行执行LR场景。 批处理脚本示例如下:

    cls 
    SET M_ROOT="D:Program FilesMIMercury LoadRunnerin" 
    %M_ROOT%wlrun.exe -TestPath "D:Program FilesMIMercury LoadRunnerscenarioTestTestScen_1.lrs" -Run 
    %M_ROOT%wlrun.exe -TestPath "D:Program FilesMIMercury LoadRunnerscenarioTestTestScen_2.lrs" -Run 
    %M_ROOT%wlrun.exe -TestPath "D:Program FilesMIMercury LoadRunnerscenarioTestTestScen_3.lrs" -Run

    这种方式比较灵活,但需要注意在Result Settings中设置“Automatically create a results directory for each scenario execution”,以免后面的测试结果覆盖了前面的。另外如果想对某个脚本进行50、100、150...等用户数递增的测试,也可以用以上方法实现,但需要注意的是将事务名称区分开以便进行分析。

  • 相关阅读:
    HDU5754 Life Winner Bo(博弈)
    COGS1752 [BOI2007]摩基亚Mokia(CDQ分治 + 二维前缀和 + 线段树)
    ACdream1157 Segments(CDQ分治 + 线段树)
    Codeforces 611C New Year and Domino(二维前缀和)
    HDU5739 Fantasia(点双连通分量 + Block Forest Data Structure)
    POJ2942 Knights of the Round Table(点双连通分量 + 二分图染色)
    HDU 2255 奔小康赚大钱(KM算法)
    BZOJ 2395 [Balkan 2011]Timeismoney(最小乘积生成树)
    BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊(分块)
    Codeforces 610C:Harmony Analysis(构造)
  • 原文地址:https://www.cnblogs.com/yezhaohui/p/3642770.html
Copyright © 2020-2023  润新知