LoadRunner脚本实例来验证参数化的取值

SINM {3]!G0问题提出:  主要想试验下,在Controller中,多个用户,多次迭代中参数的取值.51Testing软件测试网(['H5f,d)[jUh

:o$F$kY+sO/y"Yr5S0方法:51Testing软件测试网$_v.sR$tS*T)}

TJS]#v3u%bi"?!}0脚本:  我把取到的参数值和对应的VuserID记录下来保存到一个文件中,下面是例子的脚本

X-n)SI:J#t:v:YM'v#X0

long fileopen;51Testing软件测试网sqWc|0M

char *filename =  "C:\\temp\\params.log";

ol!Ml(X,L n'P0

51Testing软件测试网7]Qa-v,D7ix

vuser_init()51Testing软件测试网O:^K1k2U]D5v-}

{51Testing软件测试网K,z4P;J UsK

H!Df*PB

      if ((fileopen =  fopen(filename,"a+")) == NULL) {

o_mS5r0f*Kz:l0

             lr_error_message  ("file isn't open,path=%s",filename);51Testing软件测试网9k(L} d%f

             return  0;51Testing软件测试网6g2`a+}*h,T

      }51Testing软件测试网6Ja-a(R#AT*y#U)a

      return  0;51Testing软件测试网sPi)y(C  N

}

#C4bW$A'B@cDg w0

Action()51Testing软件测试网BS!rwffr w O

{

0lGQhNuY'`EE0

      int  id,scid;51Testing软件测试网XV"b;Vsc;e

      char  *vuser_group;

2s  kV#h+[Db~1r0

3GE8^L

      //typedef long  time_t;

K$Q;G  uT8@0

      //time_t  t;51Testing软件测试网UI  BUI

      long  t;51Testing软件测试网F  iya1}U.lT

      char *a =  "{aaa}";

S8nVRrQ  @$QE?0

      char *b =  "{bbb}";

(eu s ]$of  v*BCH_2Y0

51Testing软件测试网jc%M+v

  lr_whoami(&id,  &vuser_group, &scid);51Testing软件测试网?eFk}(Q

51Testing软件测试网  PBi[+c r$s N

51Testing软件测试网z KL$bK__)l8v

   fprintf(fileopen,"%d,%s,%s,%s",id,lr_eval_string  (a),lr_eval_string (b),ctime(&t));51Testing软件测试网2~7M k6S }F

esXi~/p_9?8L?k^

      return  0;

W]jnv.n0

}51Testing软件测试网fb:R8MV@"f

vuser_end()

6aCV9iz)]N6TI0

{51Testing软件测试网r(zbMY{

      fclose(fileopen);

Jd8EOt0

      return  0;51Testing软件测试网7n  x]3s3k(j

}      

j2O#tj9V d2w0

51Testing软件测试网n:Q"DDNDUN

参数设置为:51Testing软件测试网8I] Z9w-J)QM

取唯一值,每次迭代更新。51Testing软件测试网gP U`C6DRR

51Testing软件测试网qAK:K4@Z9X

运行时设置的迭代次数为2。

+jb+f|3~%h_1]Q*r0

51Testing软件测试网u!c#Ty ~%WE'\

场景的设置:51Testing软件测试网q,mk4J*Jf

虚拟用户数:5个

:? GY6uE0

运行模式:没有设置duration,选择的“Run until  complete”

;l)A&G{j6Iq}.lk0

完成后的日志文件params.log的内容如下:

4z;d!q)J1v0

1,a1,b1,Thu Jan 01 08:00:05 197051Testing软件测试网V"b6vY1h;n
1,a2,b2,Thu Jan 01  08:00:05 197051Testing软件测试网Sq F"t9j"dB_  v$l
10,a5,b5,Thu Jan 01 08:00:05 197051Testing软件测试网8L$A C%[]2`+~3k
10,a6,b6,Thu Jan  01 08:00:05 1970
4o-[s(YN02,a3,b3,Thu  Jan 01 08:00:05 1970
lI#Gq,GYpV02,a4,b4,Thu Jan 01 08:00:05  197051Testing软件测试网7^doa!?c
30,a9,b9,Thu Jan 01  08:00:05 1970
$j ` m&?})X  ]%i030,a10,b10,Thu Jan 01 08:00:05 1970
0~0a4VQ$^X4_3XG021,a7,b7,Thu Jan 01 08:00:05  197051Testing软件测试网$QdfM0V
21,a8,b8,Thu  Jan 01 08:00:05 1970

)mMv2K~2Lq z,jg0

51Testing软件测试网7Z1u(vNOx7p"p8siV

从生成的日志文件中可以看到VuserID分别为1,2,10,21,30

d v[|m*{0

第一次迭代取参数分别为1,3,5,7,951Testing软件测试网 U4@!So+Z

第二次迭代取参数分别为2,4,6,8,1051Testing软件测试网}zK+Rp7`%o

那试验的结果就是每个Vuser取参数的时候相同的Vuser在多个迭代中取的是连续的。不同的Vuser第一个的取值是计算了迭代次数后的那个顺序上的值。

LoadRunner脚本实例来验证参数化的取值的更多相关文章

  1. LR参数化后取值规则小记

    对参数化的取值,只有一个用户的情况能分清,但是多用户多迭代就搞不懂,特意使用Parameter List中自带的参数化模拟器Simulate Parameter进行简单的实验,3条数据 + 4个用户 ...

  2. LoadRunner脚本增强技巧之参数化(一)

    参数化的方式有两种,一种通过File引入参数值,一种通过数据库引入参数值.本篇介绍File方式引入参数值. 一.File方式参数化过程 1.在脚本中找到需要做参数化的字符串,选中,右键点击,选择Rep ...

  3. Loadrunder之脚本篇——参数化同行取值

    select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时才会出现,其作用是根据某一个参数的行号取同一行. 例中的做法如下: 将多个参数存放在一个参数文件中: ...

  4. jmeter参数化随机取值实现

    jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数__CSVRead()来实现: __CSVRead() CSV file to ge ...

  5. LoadRunner脚本增强技巧之参数化(二)

    特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用. 3.一般我们用到的很多的都是使用数据文件来保 ...

  6. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  7. LoadRunner参数化之数据取值和更新方式

    其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式  Select next row 如何从数据列表中取值 Seq ...

  8. loadrunner 参数化取值方式详解

    参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...

  9. java 八种基本数据类型之初始值、取值范围、对应的封装类

      CreateTime--2017年12月6日10:03:53 Author:Marydon 一.java数据类型之基本数据类型 (二)八种基本数据类型的特征 import java.math.Bi ...

随机推荐

  1. ffmpeg-20160714-git-bin.7z

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 f ...

  2. Python~list,tuple^_^dict,set

    tuple~(小括号) list~[中括号] 和list比较,dict有以下几个特点: dict~{‘key’:value,} set~set([1,2,3]) tuple一旦初始化就不能修改~指向不 ...

  3. [转] Git 基础 - 打标签

    2.6 Git 基础 - 打标签 打标签 同大多数 VCS 一样,Git 也可以对某一时间点上的版本打上标签.人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做.本节我们一起来学习如何列 ...

  4. 25个增强iOS应用程序性能的提示和技巧(中级篇)(2)

    25个增强iOS应用程序性能的提示和技巧(中级篇)(2) 2013-04-16 14:42 破船之家 beyondvincent 字号:T | T 本文收集了25个关于可以提升程序性能的提示和技巧,分 ...

  5. HTTP协议/RTSP协议/RTMP协议的区别

    RTSP. RTMP.HTTP的共同点.区别 共同点: 1:RTSP RTMP HTTP都是在应用应用层. 2: 理论上RTSP RTMPHTTP都可以做直播和点播,但一般做直播用RTSP RTMP, ...

  6. LeetCode : 287. Find the Duplicate Number

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAACRAAAAMMCAYAAAAhQhmZAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw ...

  7. 记录一个mysql按日期分组统计的查询

    http://blog.csdn.net/llwan/article/details/7738991

  8. 关于Java反射机制的几个问题

    >>如何在运行时确定对象类型 运行时类型识别(Run-time Type Identification, RTTI)主要有两种方式, 一种是在编译时和运行时已经知道了所有的类型,另外一种是 ...

  9. acpi参考网站

    1.acpi官网: http://www.acpi.info/

  10. 设计模式学习之备忘录模式(Memento,行为型模式)(19)

    假如我们已经记录一个人的个人信息,但是发现信息写错了,然后我先备份下再去修改,结果发现原来的信息是正确的,于是我就看备份的个人信息还原到初始的状态,下面我们用代码去实现 class Program { ...