zoukankan      html  css  js  c++  java
  • 在LoadRunner脚本中实现随机ThinkTime

    一般情况下,我们都是通过Run-Time Settings来设置Think Time(思考时间),可以设置回放脚本时忽略思考时间,或者是设置回放随机的一段思考时间。

    By default, when you run a Vuser script, the Vuser uses the think time values that were recorded into the script during the recording session. VuGen allows you to use the recorded think time, ignore it, or use a value related to the recorded time:

    • Ignore think time. Ignore the recorded think time—replay the script ignoring all lr_think_time functions.
    • Replay the think time. The second set of think times options let you use the recorded think time:
    • As recorded. During replay, use the argument that appears in the lr_think_time function. For example, lr_think_time(10) waits ten seconds.
    • Multiply recorded think time by. During replay, use a multiple of the recorded think time. This can increase or decrease the think time applied during playback. For example, if a think time of four seconds was recorded, you can instruct your Vuser to multiply that value by two, for a total of eight seconds. To reduce the think time to two seconds, multiply the recorded time by 0.5.
    • Use random percentage of the recorded think time. Use a random percentage of the recorded think time. You set a range for the think time value by specifying a range for the think time. For example, if the think time argument is 4, and you specify a minimum of 50% and a maximum of 150%, the lowest think time can be two (50%) and the highest value six (150%).
    • Limit think time to. Limit the think time's maximum value.

    除此之外,我们还可以在VU脚本中编写随机函数设置随机思考时间:

    Action()
    {

    // … your code

     lr_think_time(fRandInteger(3, 12));

    // … more of your code

     return 0;
    }

    /*---- BEGIN Function fRandInteger --------------------------------------------------------*/
    /* Send 2 arguments - minimum and maximum.
       Output to caller is a random integer anywhere in the specified range, inclusive.*/
    int fRandInteger(minInt, maxInt)
    {
     int rndInt, offset;
     if (maxInt == 0) 
     return maxInt; // Caller must handle a 0 in order to prevent error.
     offset = minInt;
     rndInt =   ((minInt) + rand() % (maxInt - offset + 1));

     /* Examples:
     1. lr_think_time(fRandInteger(3, 12));
     2. rndVal = fRandInteger(1, 9);
     3. rndVal = fRandInteger(1, CALLED_UFC_FIGHTER_A_WUSS_IN_PERSON); */

     return rndInt;

    }
    /*---- END Function fRandInteger ------------------------------------------------------------*/
    /*------------------------------------------------------------------------------------------------*/

    fRandInteger函数用于取某个区间中的一个随机整数。

    参考:

    http://www.sqablogs.com/JakeBrake

  • 相关阅读:
    计算器程序
    输入三个整数,输出最大数和最小数
    输入三个数a,b,c,要示按由小到大的顺序输出
    最短路
    luogu P3953 逛公园
    二分图匹配
    luogu P3231 消毒
    [bzoj2120] [洛谷P1903] 数颜色
    [bzoj2038] [洛谷P1494] [2009国家集训队] 小Z的袜子(hose)
    [洛谷P4012] [网络流24题] 深海机器人问题
  • 原文地址:https://www.cnblogs.com/hushaojun/p/5651631.html
Copyright © 2011-2022 走看看