Loadrunner参数化_迭代参数说明(精)

合集下载

03_LoadRunner参数化详解

03_LoadRunner参数化详解

一、参数化的方法选中需要参数化的数据方法一,右键---【Replace with a new parameter】方法二,菜单【insert】----【new Parameter…】Parameter Properties (参数属性对话框)----我们的参数化设置就通过这个对话框完成.二、参数化的方式:其实参数化得方式有很多种,这里简述几种比较常见人方式。

其实方式略有不同,但其结果都是将数据添加进来。

1、编辑数据点击Create Table 会出现表格,在表格,再次点击Edit with Notepad ,然后会打开一个记事本,我们可以对记事本进行添加数据2、添加dat数据文件点击File输入框后面的“Browse..”按钮,找到本地的txt数据文件,进行添加就可以了。

需要注意的是,文件里面的数据不要乱写,每条数据一行,不然会读取有误。

3、数据库添加数据在很多情况下,我添加的数据不是十条二十条,也不是一百两百,如果还通过上面的两种方式添加,我想会是一件非常纠结的事情。

所以我们可以通过数据库将数据导入。

你是否疑虑数据库的数据怎么弄,数据库的数据生成非常简单,可以写一段简单的代码生成,也可以通过数据库数据生成工具来完成点击Date Wizard 打开连接数据库向导。

通常不用这种方式,而是直接在数据库中把数据查询出来,然后放到参数化列表当中。

4、其他类型设置如果我们要参数化的不是一个文件,比如是特定的日期时间,可以从Parameter type列表中进行选择这里可以设置日期时间格式,循环迭代方式,不过除了file类型外,其他用的不多。

其他类型用法我也不是十分了解。

参数化之间的关联前面我们已经对用户名进行了参数化,或对密码进行了参数化,这样是不是脚本就能正常跑了,不好说。

因为用户名和密码不是一一对应关系,每次运行脚本时取的用户名和密码没有对应上的话肯定就会出问题。

假设,我们已经对用户名已经进行了参数化,参数名为【username】,下面设置密码参数化与用户名关联。

详细分析LoadRunner参数化

详细分析LoadRunner参数化

详细分析LoadRunner参数化在进⾏⽹页的性能测试时,对⽹页的登录界⾯进⾏压⼒测试情况下就会使⽤到多⽤户进⾏登录,就需要对登录名和密码进⾏参数化,那么loadrunner 怎么参数化设置呢?下⾯我们来详细分析⼀下。

⼀、我们这⾥通过loadurnner录制⼀个软件⾃带的航空⽹站登陆。

下⾯是截取的登录代码⼆、下⾯通过loadrunner对⽤户名和密码进⾏参数化设置。

1、双击jojo,右击选择Replace with a Parameter,弹出窗⼝Select or Create Parameter,在 Parameter name处输⼊变量名name,点击OK,密码重复名字的操作。

2、把⽤户名jojo改成变量name,密码bean改成变量psw三、下⾯对参数进⾏编辑添加。

第⼀种⽅法是直接在界⾯上添加编辑。

1、点击P图标或者按键盘ctrl +L 进⼊参数化设置界⾯,2、点击name进⾏编辑变量参数,点击Edit with Notepad,弹出记事本框,输⼊好⽤户名后,保存后,参数就设置完成了。

密码也是重复名字的操作。

3、也可以在界⾯上直接编辑,添加⾏、列或者删除⾏、列4、参数都添加后之后,我们要注意每个参数对应的名称5、也可以把所有的参数编辑在⼀个⽂件⾥⾯,⼀列对应⼀个参数。

6、当参数放在在⼀个⽂件⾥⾯时,设置处就要⼀⼀对应。

四、第2种⽅法对参数进⾏编辑添加,就是直接导⼊已编辑好了的数据。

1、在⽂件处选择已经编辑好的数据⽂件位置,点击打开后,⽂件111.dat的数据就⾃动导⼊进来了。

五、设置好参数后,就可以设置数据取值⽅式与更新⽅法。

1、Select next row: 选择下⼀⾏⽅法Sequential默认顺序的,按照参数化的数据顺序,从上往下⼀个⼀个的来取。

Random随机取,参数化中的数据,每次随机的从中抽取数据。

Unique唯⼀,唯⼀的向下取值,只能被⽤⼀次。

Same line as xxx,和xxx列取同⼀⾏的值,(⾏相同)步调⼀致例如:数据a b c d e f g ...,现有3个⽤户(甲⼄丙)取值;循环2次。

LoadRunner_参数化

LoadRunner_参数化

Load Runner 参数化基础讲解Loadrunner中参数的设置在做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。

该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。

但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。

本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。

在录制程序运行的过程中,VuGen(脚本生成器)自动生成了包含录制过程中实际用到的数值的脚本。

如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。

这个过程称为参数化脚本。

本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。

除了GUI,以下的内容适合于各种类型的用户脚本。

一、关于参数的定义在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。

函数中参数的值就是在录制过程中输入的实际值。

例如,你录制了一个Web应用程序的脚本。

脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。

当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。

那么,你就可以用参数来取代这个常量。

结果就是你可以用指定的数据源的数值来取代参数值。

数据源可以是一个文件,也可以是内部产生的变量。

用参数表示用户的脚本有两个优点:① 可以使脚本的长度变短。

② 可以使用不同的数值来测试你的脚本。

例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。

在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。

参数化包含以下两项任务:① 在脚本中用参数取代常量值。

LoadRunner-迭代和并发设置

LoadRunner-迭代和并发设置

LoadRunner-迭代和并发设置
迭代:指运⾏⼀次脚本时某段代码块(action)循环执⾏的次数,串⾏执⾏
并发:指同时运⾏脚本的次数,并⾏执⾏(多个⽤户同时跑)
以下是⽤例和对应的相关设置
Iterations是在Vuser Generator的Run-time Setting中进⾏设置
Quantity是在Controller Scenario中进⾏设置
其余是在Parameter List 中进⾏设置
1.select next row:参数值取值的顺序
Sequential(顺序),Random(随机),Unique(唯⼀)三个选项;如果要求使⽤不同的账号登录则设置为Unique;
如果构造的账号数不够⼜对⽤户是否相同不做要求,则可以设置Sequential,参数调到最后⼀列后再从第⼀列开始调⽤。

2.update value on : (什么事件)触发参数取值更换
each iteration:进⼊⼀个迭代更换⼀次参数值;(sequential时)每个迭代不同⽤户使⽤相同参数值(不管并发是多少);(unique时)每个迭代不同⽤户使⽤不同值
each occurence :脚本中每次变量出现就换⼀个新值,谨慎⽤,⽤于账号肯定不⾏。

(⽐如user1登录user2权限操作)
once:只取⼀个值(不管并发和迭代是多少)。

loadrunn_参数化设置详解

loadrunn_参数化设置详解

Select next rowUpdate value on每种搭配1 sequential+each iteration 每次迭代更新Action(){Int I;For(i=0;i<2;i++){Lr_eval_string("{param}");//param的内容是甲乙丙丁戊}Lr_eval_string("{param}");Return 0;}在Run-Time Settings的Run Logic设置迭代次数,设置迭代次数为2运行结果为【甲甲甲|乙乙乙】2 Sequential+Each occurrence 每次取值更新Action(){Int I;For(i=0;i<2;i++){Lr_eval_string("{param}");//param的内容是甲乙丙丁戊}Lr_eval_string("{param}");Return 0;}在Run-Time Settings的Run Logic设置迭代次数,设置迭代次数为2运行结果为【甲乙丙|丁戊甲】3 Sequential+once 只取一次值,因为是顺序所以都是第一个值,无论是有多少for循环,或者多少次迭代,运行结果都是【甲】4 random+each iteration 每当一次新的迭代开始,重新从列表中取一次随机值5 Random+Each occurrence每次取值都随机取6 Random+once只取一次随机值7uniqueAbort vuser 当参数取值超出参数表记录的条数时,忽略当前用户Continue in a cyclic manner 超出记录表,以循环方式继续Continue with last value 超出记录表,一直用最后一个值8 same line as同行取值,比如账号密码匹配。

LoadRunner中参数的设置

LoadRunner中参数的设置

LoadRunner中参数的设臵参数个数:10个tester1、tester2、tester3…tester10迭代次数:2次场景设臵(一):Sequential+Each Iteration执行结果:VuGen中:1个用户第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2Controller中:5个用户并发,每个用户第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2(备注:5个用户每次迭代取值都相同,强调了用户之间的一致性)场景设臵(二):Sequential+Each Occurrence执行结果:VuGen中:1个用户,1次迭代第一次出现(Occurrence)取值为tester1第二次出现(Occurrence)取值为tester2Controller中:5个用户,1次迭代第一次出现(Occurrence)取值为tester1第二次出现(Occurrence)取值为tester2每次迭代以此类推…(备注:5个用户每次出现取值都相同,每次迭代取值都不同)场景设臵(三):Sequential+Once执行结果:VuGen中:1个用户每次都取同一个值,无论迭代多少次,都取tester1Controller中:5个用户每次都取同一个值,无论迭代多少次,都取tester1(备注:5个用户每次都取同一个值,无论迭代多少次)场景设臵(四):Unique+Each Iteration+Abort Vuser执行结果:VuGen中:1个用户第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2Controller中:5个用户用户1:第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester3(注:此处取值,依据用户到达的先后顺序)用户2:第一次迭代(Iteration)取值为tester2第二次迭代(Iteration)取值为tester4...以此类推…(备注:当6个用户并发时,会出现参数不够的情况,有一个用户就会被终止)场景设臵(五):Unique+Each Iteration+Continue in a cycle manner执行结果:VuGen中:1个用户第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2Controller中:5个用户用户1:第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2用户2:第一次迭代(Iteration)取值为tester3第二次迭代(Iteration)取值为tester4..用户6:第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2以此类推…(备注:当6个用户并发时,会出现参数不够的情况,会重新从参数列表第一行开始取)场景设臵(六):Unique+Each Iteration+With Last Value执行结果:VuGen中:1个用户第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2Controller中:5个用户用户1:第一次迭代(Iteration)取值为tester1第二次迭代(Iteration)取值为tester2用户2:第一次迭代(Iteration)取值为tester3第二次迭代(Iteration)取值为tester4..用户6:第一次迭代(Iteration)取值为tester9第二次迭代(Iteration)取值为tester10以此类推…(备注:当6个用户并发时,会出现参数不够的情况,会用最后的值作为参数)场景设臵(七):Unique+Once执行结果:VuGen中:1个用户,迭代2次,每个迭代中参数出现2次与迭代无关,一次都取唯一一个值:tester1Controller中:5个用户用户1:取值为tester1用户2:取值为tester2用户3:取值为tester3..以此类推…(备注:与迭代无关,强调用户之间的差异性)场景四至七中,Block Size是自动分配的,如果人工分配取值会有变化,比如说2个用户,每个用户迭代2次,为每个用户分配3个参数,则:用户1取值:tester1、tester2(tester3)用户2取值:tester4、tester5(tester6)。

LoadRunner使用说明

LoadRunner使用说明

Load Runner 使用说明一、组件:(一) VuGen:用于捕获最终用户业务流程和创建怎动化性能测试脚本。

1. 录制脚本:(1) 集合点Rendezvous(2) 验证点Check Point:文本验证点Text Check、图片验证点Image Check(3) 事务Transaction:事务开始Start Transaction、事务结束End Transaction(4) 注释与消息Comment & Message:/***/2. 增强并编辑Vuser脚本(1) 参数化:在Select next now中的参数:Sequential顺序、Random随机、Unique唯一在Update value on 参数:Each iteration每次迭代、Each occurrence每次出现、Once 一次(2) 从数据库中导入数据3. 配置动行时设置Runtime settings(运行时设置)(1) Number of Iterations:迭代次数(2) 在Preferences中的Enable image and text check在脚本中添加验证点时必须选中。

4. 在独立模式下运行Vuser脚本5. 集成Vuser脚本(二) Controller:用于组织、驱动、管理和监控负载测试。

1. 创建方案(1) 创建手动方案(2) 创建百分比模式方案(3) 创建面向目标的方案2. 计划方案(1) 开始时间(2) 方案运行设置:加压Ramp Up、持续时间Duration、减压Ramp Dowm3. 运行方案4. 监视方案(1) RuntimeGraphs(运行时图)A. Running Vusers运行时图:Running正在运行的Vuser总数、Ready完成脚本初始化部分、即可以运行的Vuser数、Finished结束运行的Vuser数,包括通过的和失败的、Error执行时发生的错误VuserB. Transaction Graphs事务监视图:Trans Response Time事务响应时间、Trans/Sec(Passed)每秒事务数(通过)、Trans/Sec(Failed/Stopped)每秒事务数(失败、停止)、Total Trans/Sec(Passed)每秒事务总数(通过)。

loadrunner参数详细解释

loadrunner参数详细解释

51Testing 软件测试论坛 » [LoadRunner] » 关于LoadRunner 参数的详细解释(自己看的)[转贴] 关于LoadRunner 参数的详细解释(自己看的)1# 大 中 小 发表于 2010-6-18 10:05 只看该作者关于LoadRunner 参数的详细解释(自己看的)通过创建表方式和数据向导方式都可以成功创建数据文件,操作员可以随意选择自己习惯的方式。

总之,能坚守数据文件放数据的原则,就不会出问题了。

当回到“参数属性页面”中后,发现数据已经准备好了,而且原来灰色的区域目前也可以选择了。

“选择下一行”共有下面几个选项:Sequential :按照顺序一行行的读取。

每一个虚拟用户都会按照相同的顺序读取。

Random :任意选择。

但是在每一次迭代中,将不发生变化。

Unique :唯一的数。

当使用该选项时,需要保证准备的数据文件中有足够的数据。

比如要做20个虚拟用户,每个用户要进行5次迭代,第一个用户在5次迭代中分别使用数据文件中的数据1~数据5,第二个用户在5次迭代中分别使用数据文件中的数据6~数据10,类推以后20个用户将使用到100个数据。

那么必须保证准备的数据文件中有100个以上的数据,否则运行时会出错。

Same line as 某个参数:和前面定义的参数取同行的记录。

通常用在有关联性的数据上面。

比如当我做登录密码的参数化时,由于它和UserID 是有关联的,所以会用到这种选择方式。

“更新值的时间”共有下面几个选项:Each iteration :每次迭代更新一个新的值。

Each occurrence :每次出现时该参数时更新一个新的值。

Once不管迭代多少次该参数的值一直保持不变。

*****注意*****1、参数类型:在创建参数的时候,我选择了参数类型为File。

参数类型共有9种,现在来简单介绍一下所有的参数类型以及意义。

1.1、DateTime:在需要输入日期/时间的地方,可以用DateTime 类型来替代。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Loadrunner参数化策略
测试小组齐国杰
使用工具:Loadrunner 8.1试用版
引子
近日没有具体的项目做,就总去泡论坛,发现有的网友会问一些参数化的问题,回答他们的问题时,突然发现自己也是一知半解,因此写了三个实验脚本,目的是彻底搞清楚参数化的做法以及参数化策略的疑问。

流程
参数化要做一些准备,主要是参数化数据的准备,例如TXT文本、EXCEL表格以及数据库中的表都可以作为参数的数据集载体,而且LR都是支持的。

具体的参数化流程如下:
1、录制脚本
2、准备参数的数据集(也可以不准备,让LR自己生成固定格式参数)
3、把对应的变量参数化
4、选择对应的参数化策略
具体的操作请查询LR帮助手册
例子
下面我来介绍几个例子,例子统一使用try_params.txt做参数数据集,txt内容如下:
aaa bbb
a1 b1
a2 b2
……
a30 b30
脚本一:
Action()
{
char *a = "{aaa}"; //获得参数赋值给a
char *b = "{bbb}";//获得参数赋值给b
lr_log_message("%s,%s,%s,",lr_eval_string (a),lr_eval_string (b),ctime(&t));//打印结果return 0;
}
运行时设置:设置action的迭代次数为30(runtime-setting的Run Logic里)
备注:“…,…”省略符号,如果前后都相同则省略相同部分,如果前后不同则省略不同部分。

脚本二:
Action()
{
int i; //循环种子
for (i=0;i<30;i++) //循环30次
{
char *a = "{aaa}"; //获得参数赋值给a
char *b = "{bbb}";//获得参数赋值给b
lr_log_message("%s,%s\n",lr_eval_string (a),lr_eval_string (b));
}//打印结果
return 0;
}
运行时设置:设置action的迭代次数为1(runtime-setting的Run Logic里)
备注:“…,…”省略符号,如果前后都相同则省略相同部分,如果前后不同则省略不同部分。

脚本三:
Action()
{
char *filename = "C:\\work\\log\\try_params.log";
typedef long time_t;
time_t t;
char *a = "{aaa}";
char *b = "{bbb}";
long fileopen;
if ((fileopen = fopen(filename,"a+")) == NULL) {
lr_error_message ("file isn't open,path=%s",filename);
return 0;
}
time(&t);
fprintf(fileopen,"%s,%s,%s",lr_eval_string (a),lr_eval_string (b),ctime(&t));
fclose(fileopen);
return 0;
}
运行时设置:设置action的迭代次数为1(runtime-setting的Run Logic里)场景设置:不更改任何场景策略,运行vuser数为30
备注:“…,…,…”省略符号,如果前后都相同则省略相同部分,如果前后不同则省略不同部分。

文档实例位置:
脚本一:try_param_2文件夹
脚本二:try_param_1文件夹
脚本三:try_param文件夹
参数文件:try_param.txt在每个脚本目录下。

相关文档
最新文档