目录
一、LoadRunner内置参数
在各种业务场景中,我们将多个常量用统一变量进行替代的过程称之为脚本参数化
1、脚本参数化加强了代码的可读性,非常方便的看出关联性
2、脚本参数化降低了测试代码的维护难度,非常方便我们快速修改,减少低级错的发生
这里就可以发现已经替换完成
1.内置参数
LoadGN 全称为 LoadGeneratorName,该参数是以压力机名称为基础,可按不同格式生
2. Vuser ID
该参数是以虚拟用户的序号为基础,可按不同格式生成
3.table 参数
取值规则:
1. 顺序:按照参数化的顺序一个一个的来取
2. 随机:参数化中的数据,每次随机的从中选取数据
3. 唯一:为每个虚拟用户分配一个唯一的一条数据
更新值的规则:
1. 每次迭代时更新
2. 运行场景中只更新一次
例如:
lr_log_message("%s",lr_eval_string("{NewParam}"));
4. file 参数
取值规则:
1. 顺序:按照参数化的顺序一个一个的来取
2. 随机:参数化中的数据,每次随机的从中选取数据
3. 唯一:为每个虚拟用户分配一个唯一的一条数据
更新值的规则:
1. 每次迭代时更新
2. 每次出现时更新
3. 运行场景中更新一次
lr_log_message("%s",lr_eval_string("{NewParam}"));
例如:
保存之后就可以看到是以表格的方式
表格与文件参数的区别在于: 表格可以取整行数据,文件一般只取一行中的一列
5.迭代编号
该参数是以运行逻辑的替代次数为基础,可按不同格式生成
lr_log_message("%s",lr_eval_string("{NewParam}"));
6.日期时间
能按照时间生成不同格式字符串 更新值的规则:
1. 每次迭代时更新
2. 每次出现时更新
3. 运行场景中更新一次
lr_log_message("%s",lr_eval_string("{NewParam}"));
7.随机数字
能在范围内随机生成不同数字
更新值的规则:
1. 每次迭代时更新
2. 每次出现时更新
3. 运行场景中更新一次
lr_log_message("%s",lr_eval_string("{NewParam}"));
8.唯一编号
能在范围内随机生成唯一数字
更新值的规则:
1. 每次迭代时更新
2. 每次出现时更新
3. 运行场景中更新一次
lr_log_message("%s",lr_eval_string("{NewParam}"));
9.xml 参数
以 xml 结构为基础的参数
取值规则:
1. 顺序:按照参数化的顺序一个一个的来取
2. 随机:参数化中的数据,每次随机的从中选取数据
3. 唯一:为每个虚拟用户分配一个唯一的一条数据
更新值的规则:
1. 每一次迭代时更新
2. 每一次出现时更新
3. 运行场景中更新一次
lr_log_message("%s",lr_eval_string("{NewParam}"));
10.自定义参数
自定义参数一般是定义一些常量值
lr_log_message("%s",lr_eval_string("{NewParam}"));
二、事务
事务(Transaction)用于模拟用户的一个相对完整的、有意义的业务操作过程,例如登录、查询、转账,这些都可以作为事务,而一般不会把每次 HTTP 请求作为一个事务
1. 事务开始
lr_start_transaction("devt-query");
2. 事务结束
lr_end_transaction("devt-query",LR_AUTO);
3. 事务成功结束
lr_end_transaction("devt-query",LR_PASS);
4. 事务失败结束
lr_end_transaction("devt-query",LR_FAIL);
//不检查结果,自动结束
lr_end_transaction("devt-query",LR_AUTO);
//判断是否成功
if(atoi(lr_eval_string("{param1}"))>0){
lr_end_transaction("devt-query",LR_PASS);
}
else{
lr_end_transaction("devt-query",LR_FAIL);
}