在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值