LoadRunner脚本实例来验证参数化的取值
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脚本实例来验证参数化的取值的更多相关文章
- LR参数化后取值规则小记
对参数化的取值,只有一个用户的情况能分清,但是多用户多迭代就搞不懂,特意使用Parameter List中自带的参数化模拟器Simulate Parameter进行简单的实验,3条数据 + 4个用户 ...
- LoadRunner脚本增强技巧之参数化(一)
参数化的方式有两种,一种通过File引入参数值,一种通过数据库引入参数值.本篇介绍File方式引入参数值. 一.File方式参数化过程 1.在脚本中找到需要做参数化的字符串,选中,右键点击,选择Rep ...
- Loadrunder之脚本篇——参数化同行取值
select next row 记录选择方式 Same line as,这个选项只有当参数多余一个时才会出现,其作用是根据某一个参数的行号取同一行. 例中的做法如下: 将多个参数存放在一个参数文件中: ...
- jmeter参数化随机取值实现
jmeter能用来做参数化的组件有几个,但是都没有随机取值的功能,遇到随机取值的需求怎么办呢? 突发奇想,可以用函数__CSVRead()来实现: __CSVRead() CSV file to ge ...
- LoadRunner脚本增强技巧之参数化(二)
特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用. 3.一般我们用到的很多的都是使用数据文件来保 ...
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- LoadRunner参数化之数据取值和更新方式
其实看LR已经很久了,每次看到参数化的取值更新时,都没有看透,了解个大概就为止了,也确实挺搞脑子的. 现在理解下来 分成2部分 取值方式 Select next row 如何从数据列表中取值 Seq ...
- loadrunner 参数化取值方式详解
参数化对话框中与参数取值方式有关的区域如下: 改变参数化的取值方式,关键在于Select next row和Update value on这两个选项. Select next row包括以下选项: S ...
- java 八种基本数据类型之初始值、取值范围、对应的封装类
CreateTime--2017年12月6日10:03:53 Author:Marydon 一.java数据类型之基本数据类型 (二)八种基本数据类型的特征 import java.math.Bi ...
随机推荐
- percona-toolkit 之 【pt-slave-delay】说明
摘要: 在主从复制的架构中,正常情况下主上操作的记录也会在从上进行操作,虽说是异步复制,但操作会“实时”的同步到从.比如在主上不小心误操作了,还没等反应过来从上也会马上执行误操作,后期只有通过二进制或 ...
- 【leetcode】Climbing Stairs (easy)
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...
- 【python】为什么修改全局的dict变量不用global关键字
转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? ...
- cocos2d-x 第二篇 HelloWorld的流程
这篇博客主要是带领大家一起了解整个游戏的执行过程,其中涉及的一些譬如导演,场景,层之类的概念将会在后面讲解. 看main函数的区别: #import <UIKit/UIKit.h> // ...
- IOS-KVO&KVC
KVC(key value coding) 我们一般是通过调用set方法或属性的点语法来直接更改对象的状态,即对象的属性值,比如[stu setAge:10]; stu.age = 9; lKVC, ...
- Hibernate简单分页
5.1 准备工作 建立项目,加入jar 建立hibernate.cfg.xml 建立pojo类和对应的映射文件 5.2 建立vo类PageEntity package org.guangsoft.vo ...
- !struct operator reload
struct t3DObject //对象信息结构体{ int numOfVerts; // 模型中顶点的数目 int numOfFaces; // 模型中面的数目 int numTexVertex; ...
- 宠物收养所(bzoj1208)
Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...
- iOS - 直播相关文章
直播相关文章 直播RTMP可用于测试的服务器地址 FFmpeg avdumpformat输出的tbn.tbc.tbr.PAR.DAR的含义 FFmpeg 3.0 计算视频时长 HLS Streamin ...
- centos vsftp 服务器配置
安装服务端: # yum install -y vsftpd 安装客服端: # yum install ftp -y http://os.51cto.com/art/201408/448630.htm