当前位置:首页 > LoadRunner - 笔记 - 图文
2.3脚本的参数化
如果用户在录制脚本过程中,填写提交了一些数据,比如创建一个新的
document。这些操作都被记录到了脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做会被应用禁止,会出错,这样也不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际环境,需要各种各样的输入。参数化输入是一种不错的方法
参数化包含以下两项任务: ① 在脚本中用参数取代常量值。 ② 设置参数的属性以及数据源。
参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。
我举一个例子来说明,还是我上面那个脚本, web_submit_form(\ \ ITEMDATA, \performance0001\ \ \ \ LAST);
因为每次创建文档的时候,需要用不同的名字,系统禁止同名,如果同名就会出错,所以要把PTName值参数化,我们只要选中“performance0001”,然后点鼠标右键, 选择“Replace with a parameter. ”,出现以下窗口:
参数类型解释:
DateTime:很简单,在需要输入日期/时间的地方,可以用DateTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。
Group Name:暂时不知道何处能用到,但设置比较简单。在实际运行中,
LoadRunner使用该虚拟用户所在的Vuser Group 来代替。但是在VuGen 中运行时,Group Name将会是None
Load Generator Name:在实际运行中,LoadRunner 使用该虚拟用户所在Load
17
Generator 的机器名来代替。
Iteration Number:在实际运行中,LoadRunner使用该测试脚本当前循环的次数来代替。
Random Number:随机数。很简单。在属性设置中可以设置产生随机数的范围 Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。
注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接受的最大数为99。当使用该参数类型时,设置第一个数为1,递增的数为1,但100个虚拟用户同时运行时,第100 个虚拟用户输入的将是100,这样脚本运行将会出错。注意:这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为1。举例说明:假如起始数为1,递增为5,那么第一个用户第一次循环取值1,第二次循环取值2;第二个用户第一次循环取值为6,第二次为7;依次类推。 Vuser ID:设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的ID 来代
替,该ID 是由Controller 来控制的。但是在VuGen 中运行时,Vuser ID 将会是 –1。
User Defined Function:从用户开发的dll 文件提取数据。
File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据
我们将会重点介绍这种参数类型,这也是LR的缺省参数类型,就是把准备好的数据放在文件或者用sql语句从数据库中取出来,让VU来读取。
18
“Select next row ”有以下几种选择:多个VU如何取值 Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取
Random:在每次循环里随机的读取一个,但是在循环中一直保持不变
Unique :每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。 Same Line As 某个参数(比如Name):和前面定义的参数Name 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:
创建参数文件,共两列,假设userID,DOCID,userid设定取数方式是
unique,DOCID则设成the same line as userid,如果第一行数据为0001,DOC1,则如果用户0001登录成功,在打开文档时,便会打开DOC1文档。
“Update value on”有如下几种选择:多次迭代如何取值 once在所有的反复中都使用同一个值,
19
each iteration则每次反复都要取新值, each occurrence则只要发现该参数就要重新取值,也就是如果一个action中有多个该参数,每遇到一个就要重新取一个值。
第三部分:创建运行场景
3.1 Run-Time Setting
20
共分享92篇相关文档