在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

时间: 2024-10-18 10:04:50

在LoadRunner脚本中实现随机ThinkTime的相关文章

loadrunner脚本中参数化和返回值输出log到外部文件

loadrunner脚本中参数化和返回值输出log到外部文件 很多时候,我们在做性能测试之前,需要造数据,但是使用的这些参数化数据和生成的返回数据在后面的测试都会用的,所以我们需要在造数据过程中,将参数化的数据和生成的返回数据保存起来,以便后续测试中使用!下面就以webservice协议的脚本为例,介绍下如何来实现所需的功能! int id,scid;char *group; //定义文件保存位置char *filename = "E:\\data\\test.log";long fi

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本loadrunnerstreamfilestring测试 .controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息: 以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时

Loadrunner脚本回放 场景运行过程中常见错误分析

问题一:Loadrunner超时错误问题描述 Loadrunner超时错误:在录制Web协议脚本回放时超时情况经常出现,产生错误的原因也有很多,解决的方法也不同. 问题现象Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s). 错误分析对于HTTP协议,默认的超时时间是120秒(可以在LoadRunner中修改),客户端发送一个请求到服务器端,如果超过120秒服

Loadrunner脚本编程(4)-数据类型操作和字符串操作

http://www.360doc.com/content/10/0806/13/1698198_44078277.shtml 一,数据类型转换 没有使用过C编程的LoadRunner脚本编写者会发现在数据类型转化方面比较困难.下面介绍这方面的知识. 1.  相似函数的输出在不同的位置 象很多C函数一样,使用atoi函数的结果即为返回值 如intResult = atoi( charY ); 而:itoa的返回结果为第二个参数. itoa( intX, charY, 10); 第一个参数是需要转

LoadRunner如何在注册业务脚本中设置参数化唯一性

LR在录制一个网站注册业务的脚本时,突然间遇到一个问题:注册时,由于注册用户需要验证唯一性,所以在LR回放脚本时,用Run-time Viewer工具回放可以发现(先在脚本中设置几个断点),真实运行的注册脚本用户并没有注册成功,如图: 出现这样的问题,如何解决呢? 当然,首先就想到了脚本参数化设置,于是我动手写了一段代码,运行脚本让它随机生成用户名(用户名指定格式),然后写入一个dat文件,在参数设置中导入dat文件,这样就非常方便地进行参数化,代码如下: /*author:luihengk*/

老李分享:Eclipse中开发性能测试loadrunner脚本

前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunner脚本如何配置环境,poptest是业内唯一一家培养测试开发工程师的培训机构,以培养学员做性能测试,自动化测试,测试工具开发的能力为目标,在poptest的课堂上分享大量的性能测试案例,由于个人的经验有限,资源有限,无法让讲师个人的能力跟上业务的技术进步,培训机构的讲师都在吃老本,poptest创始人李爱然,王远兵和我都希望能把一线的技术教给学员,让学员真正学到

关注LoadRunner脚本回放日志中的Warning信息-转载

关注LoadRunner脚本回放日志中的Warning信息 最近在与大家的讨论中发现了LoadRunner的很多问题,出于解决问题的出发点,我也就相关自己不理解的问题在Google中搜索了一番,并通过一些实例也去实际操作了一遍,发现很多问题确实并不是那么难解决,而只是我们不够细心,没有认真去分析和总结.这里简单列举我最近去研究的一个问题,就是关于LoadRunner在脚本回放日志中出现的Warning信息,也就是所谓的警告信息,通常我们可能觉得只要在录制回放过程中没有报error就认为脚本是ok

loadrunner 脚本和replaylog中的中文乱码问题(转载)

解决这个问题必须认识到一个事实就是,loadrunner和测试服务器交换数据使用的是utf8格式,但是展现在replaylog中是使用gb2312格式,而且在脚本中如何使用web_reg_find的时候也是使用的是gb2312格式,所以知道这个原理后,事情就好办多了. 首先使用关联函数web_reg_save_param将服务器返回的Server Response 内容保存为参数,接着利用 lr_convert_string_encoding函数进行编码格式转换即可. 此时注意---关联函数是一

loadrunner录制成功但脚本内容为空,无任何代码//脚本中包含乱码

使用loadrunner录制脚本,录制过程中也会显示“正在录制…”,并且有(XX个事件).但是脚本录制结束之后,脚本中没有任何内容,没有代码显示. 解决方法: 在脚本录制程序VU generator中, 点“工具”——“录制选项”, 左边栏目中,“网络”——“端口映射”, 右边窗口中,在“捕获级别”的下拉列表中选择“套接字级别数据和WinINet级别数据”, 确定. 重新录制脚本,可查看到有对应于事件操作的代码记录. 使用loadrunner录制脚本,有时有个别网页页面会出现乱码的情况,在录制的