- 在用Loadrunner做性能测试时,经常要用到参数化。
文本参数化
在WebTours多注册几个账号,对登录的username进行参数化。
鼠标移动到需要参数化的数据上,右键弹出列表,选择Replace with a Parameter
填写变量名
点击OK按钮
右键参数化的变量名,选择Parameter properties
把账号数据写进去并保存
在Vuser的Run-Time serrings中设置3次循环来验证下
保存设置,执行脚本
可以看到三次循环都成功了。
这里只对username进行了参数化,那么如果还要对passwd进行参数化,并要求username和passwd一一对应,该怎么办呢?
先对密码进行参数化,变量名为pwd
在Parameter properties中File选择username.dat,点击Add Column新增一列,名称为pwd。
把密码写进去,以逗号为分割
在Parameter Properties界面中的Select next row选择Same line as username,这样就使username和pwd一一对应了。
最后回放验证下,可以看到3次循环都成功了。
数据分配方式
在Parameter Properties界面可以选择多种数据分配方式
1、Select next row:选择下一行的策略。
- Sequential:顺序取行
- Random:随机取行
- Unique:使用唯一行
2、Update value on:更新值得策略
- Each iteration:每次迭代都取新值
- Each Occurrence:每次取值更新
- Once:只更新一次
按照基本的排列组合会产生9种组合,现在对这9种组合进行一一分析。
测试脚本:
Action() { lr_output_message(lr_eval_string("{datatest}")); lr_output_message(lr_eval_string("{datatest}")); return 0; }
迭代2次
datatest=test001,test002......test010
1、Sequential+Each iteration
运行结果:
由此可见,只是在迭代的时候才更新取值
2、Sequential+Each Occurrence
运行结果:
由此可见,每次取值都会更新
3、Sequential+Once
运行结果:
由此可见,每次都取同一个值
4、Random+Each iteration
运行结果:
5、Random+Each Occurrence
运行结果:
6、Random+Once
运行结果:
7、Unique+Each iteration
运行结果:
8、Unique+Each Occurrence
运行结果:
9、Unique+Once
运行结果: