Loadrunner参数化_迭代参数说明(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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在每个脚本目录下