LoadRunner-Vuser之参数化、关联、事务、检查点、集合点的使用


参数化目的:模拟真实用户操作和创建现实的结果。如果每次输入相同的查询内容,服务器会有相应的缓存,查询速度就会很快,与实际用户使用场景不一致。

(一)参数化步骤:

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 查看各个用户的取值情况

变量及参数的使用技巧:

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()函数来对登陆失败或成功后页面进行文字的查找,对事务进行判断

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);

发布了39 篇原创文章 · 获赞 10 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章