LoadRunner-Vuser之参数化、关联、事务、检查点、集合点的使用
2017-07-21 17:59
483 查看
blog.csdn.net/qqgirllianxin/article/details/26979723
参数化目的:模拟真实用户操作和创建现实的结果。如果每次输入相同的查询内容,服务器会有相应的缓存,查询速度就会很快,与实际用户使用场景不一致。
(一)参数化步骤:
1. 确定需要参数化的数据(a.业务系统要求某些数据唯一 b.某些数据不改变,会对性能产生影响)
2. 选择数据,鼠标右键选择“Replace with a parameter”
3. Param List中设置参数值和参数更新方式
(Select next row: Sequential 顺序取值、Random随机取值、Same lineas Param1 与参数1取的行数相同)
(Update Value on 参数值的变更条件:Each Iteration一次迭代中间无论调用几次都取同一个值、Each Occurrence每调用一次参数就变更一次 Once 只取一次)
4. 在 Run-Time Settings 中 修改迭代次数和打开日志(Run-Time Settings-> Log -> Extended Log-> Parameter substitution)
参数的调试:
在VuGen验证参数是否正确
使用lr_eval_string()读取参数
通过日志检查参数取值
Controller中多用户并发情况下,参数是否正确
(二)创建场景Create Scenario
1. 在Design Tab页下 双击 Start Vusers 、Duration、去设置场景参数
2. 运行场景
3.在Run Tab页下点击Vusers...->Show Vuser Log 查看各个用户的取值情况
变量及参数的使用技巧:
[cpp] view
plain copy
Action()
{
char temp[10]="51testing";
lr_output_message(temp); //变量的使用
lr_output_message(lr_eval_string("{param}")); //参数的使用
//1.值存在于变量中,但需要使用的地方必须在双引号中间
//2.值存在于参数中,但需要使用的地方不允许用双引号
lr_save_string(temp,"param1"); //将变量temp的值存入一个新的参数param1中
lr_output_message(lr_eval_string("{param1}"));
return 0;
}
关联目的:捕获动态数据,进行动态提交
(三)关联
手工关联
确定要捕获的数据(可以通过回放脚本后 使用 Scan Script for Correlations 辅助关联)
发现要捕获的数据的文本左右边界
脚本添加函数(web_reg_save_param)
验证正确的执行
特点:关联的数据是从服务器返回的,后续请求中发回给服务器,该数据是动态变化的
手动关联的具体步骤:
1. 脚本出错时需要关联
2. 过滤可疑数据(在Generation Log中找该数据,看该数据是否是服务器返回的数据)
3. 重点关心post请求
(四)事务、检查点
引入事务是为了度量响应时间
事务时间: 函数自身+ Think time + Wasted Time + 响应时间
响应时间:网络(网络延迟+ Web Page BreadDown) + 服务器处理(WWW Server+ App Server + DB Server)
对于自动结束状态的事务(LR_AUTO),只要服务器给用户返回了信息,就会认为事务是通过的。因此需要手工事务来进行判断
可以用web_reg_find()函数来对登陆失败或成功后页面进行文字的查找,对事务进行判断
[cpp] view
plain copy
web_reg_find("Search=Body","SaveCount=success","Text=Welcome",LAST);
if(atoi(lr_eval_string("{success}"))>=1)
lr_end_transaction("Login Time", LR_PASS);
else
lr_end_transaction("Login Time", LR_FAIL);
事务相关函数:
lr_start_transaction
lr_end_transaction
lr_start_time() 与lr_end_time()联合使用得到程序运行时间
(五)集合点:用于模拟多用户并发操作的一种技术手段
步骤:
1. 确定并发操作步骤
2. 在并发操作之前,插入集合点
3. 修改集合策略(场景 Scenario-> Rendezvous -> Policy)
集合点不能放在事务的中间
(六)思考时间 lr_think_time(10);
参数化目的:模拟真实用户操作和创建现实的结果。如果每次输入相同的查询内容,服务器会有相应的缓存,查询速度就会很快,与实际用户使用场景不一致。
(一)参数化步骤:
1. 确定需要参数化的数据(a.业务系统要求某些数据唯一 b.某些数据不改变,会对性能产生影响)
2. 选择数据,鼠标右键选择“Replace with a parameter”
3. Param List中设置参数值和参数更新方式
(Select next row: Sequential 顺序取值、Random随机取值、Same lineas Param1 与参数1取的行数相同)
(Update Value on 参数值的变更条件:Each Iteration一次迭代中间无论调用几次都取同一个值、Each Occurrence每调用一次参数就变更一次 Once 只取一次)
4. 在 Run-Time Settings 中 修改迭代次数和打开日志(Run-Time Settings-> Log -> Extended Log-> Parameter substitution)
参数的调试:
在VuGen验证参数是否正确
使用lr_eval_string()读取参数
通过日志检查参数取值
Controller中多用户并发情况下,参数是否正确
(二)创建场景Create Scenario
1. 在Design Tab页下 双击 Start Vusers 、Duration、去设置场景参数
2. 运行场景
3.在Run Tab页下点击Vusers...->Show Vuser Log 查看各个用户的取值情况
变量及参数的使用技巧:
[cpp] view
plain copy
Action()
{
char temp[10]="51testing";
lr_output_message(temp); //变量的使用
lr_output_message(lr_eval_string("{param}")); //参数的使用
//1.值存在于变量中,但需要使用的地方必须在双引号中间
//2.值存在于参数中,但需要使用的地方不允许用双引号
lr_save_string(temp,"param1"); //将变量temp的值存入一个新的参数param1中
lr_output_message(lr_eval_string("{param1}"));
return 0;
}
关联目的:捕获动态数据,进行动态提交
(三)关联
手工关联
确定要捕获的数据(可以通过回放脚本后 使用 Scan Script for Correlations 辅助关联)
发现要捕获的数据的文本左右边界
脚本添加函数(web_reg_save_param)
验证正确的执行
特点:关联的数据是从服务器返回的,后续请求中发回给服务器,该数据是动态变化的
手动关联的具体步骤:
1. 脚本出错时需要关联
2. 过滤可疑数据(在Generation Log中找该数据,看该数据是否是服务器返回的数据)
3. 重点关心post请求
(四)事务、检查点
引入事务是为了度量响应时间
事务时间: 函数自身+ Think time + Wasted Time + 响应时间
响应时间:网络(网络延迟+ Web Page BreadDown) + 服务器处理(WWW Server+ App Server + DB Server)
对于自动结束状态的事务(LR_AUTO),只要服务器给用户返回了信息,就会认为事务是通过的。因此需要手工事务来进行判断
可以用web_reg_find()函数来对登陆失败或成功后页面进行文字的查找,对事务进行判断
[cpp] view
plain copy
web_reg_find("Search=Body","SaveCount=success","Text=Welcome",LAST);
if(atoi(lr_eval_string("{success}"))>=1)
lr_end_transaction("Login Time", LR_PASS);
else
lr_end_transaction("Login Time", LR_FAIL);
事务相关函数:
lr_start_transaction
lr_end_transaction
lr_start_time() 与lr_end_time()联合使用得到程序运行时间
(五)集合点:用于模拟多用户并发操作的一种技术手段
步骤:
1. 确定并发操作步骤
2. 在并发操作之前,插入集合点
3. 修改集合策略(场景 Scenario-> Rendezvous -> Policy)
集合点不能放在事务的中间
(六)思考时间 lr_think_time(10);
相关文章推荐
- LoadRunner-Vuser之参数化、关联、事务、检查点、集合点的使用
- loadrunner使用参数化,关联修改浏览帖子脚本
- 使用JMeter进行Web 性能测试 - 检查点、关联和参数化
- LoadRunner集合点、事务、参数化
- LoadRunner12使用教程(四)——事务与集合点
- LoadRunner把关联取值当作检查点来使用
- Loadrunner中web_reg_save_param函数的除关联外的使用方法,检查点找不到内容
- 关联、参数化、思考时间、检查点、事务的设置方式
- LoadRunner 关联和集合点、检查点
- LoadRunner可以把关联取值当作检查点来使用
- LoadRunner 关联和集合点、检查点
- 《LoadRunner没有告诉你的》之七——使用 LoadRunner 连续长时间执行测试,如何保证参数化的数据足够又不会重复?
- 如何使用LoadRunner8.1的java Vuser协议调用jar文件
- bodboy录制脚本,参数化,检查点,并发,报告的简单使用
- 使用LoadRunner8.1的java Vuser协议调用jar文件(一) [ 光影人像 东海陈光剑 的博客 ]
- 使用loadrunner javavuser协议开发脚本实战
- 使用loadrunner进行性能测试(四)--检查点设置
- loadrunner中的关联与参数化
- 如何在LoadRunner中使用集合点进行测试(十一)
- LoadRunner检查点使用小结