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

  • 相关阅读:
    11gR2 RAC手动添加节点数据库实例 转
    Oracle 11g rac添加删除集群数据库
    11gR2RAC更换CRS磁盘组文档
    Java堆、栈和常量池
    牛人博客
    异常的定义和分类
    java中Proxy(代理与动态代理)
    详解java定时任务
    世界上最大的风不是台风,而是枕边风
    tomcat 日志catalina.out 按天自动分割 设定时任务定时清除
  • 原文地址:https://www.cnblogs.com/hushaojun/p/5651631.html
Copyright © 2011-2022 走看看