脚本调试之事务、参数化、集合点、检查点
上一篇 /
下一篇 2013-04-20 15:50:03
/ 个人分类:工具详解
针对网校,做了100用户登录并搜索 + 400游客直接搜索的脚本。
一、添加事务:
脚本A:用户登录并搜索;(事务:登录+搜索)
脚本B:不登陆直接搜索。(事务:搜索)
注意点:
1、思考时间放在事务开始之前。
否则在回放思考时间设置被允许的情况下,思考时间将被算入事务的执行时间,从而影响了对事务正确的执行时间的分析和统计。
2、事务必须是成对出现,即:一个事务有事务开始必然要求也有事务结束。
3、事务结束函数共包括两个参数,第一个参数是事务的名称,第二个参数是事务的状态。事务状态可以为:
LR_PASS:返回“Succeed”返回代码 ;
LR_FAIL:返回“Fail”返回代码 ;
LR_STOP:返回“Stop”返回代码 ;
LR_AUTO:自动返回检测到的状态。
二、参数化:
对用户名密码进行参数化,需要注意和虚拟用户的区别~
三、集合点:
脚本A和脚本B在搜索时需要添加集合点:
lr_rendezvous("chaxunkecheng");
并且集合点名称需要保持一致,来实现多个脚本同时并发的效果!
四、检查点:
注意web_reg_find函数和web_find函数的区别!
1、这两个函数类型不同,web_find是普通函数,web_reg_find是注册函数;
2、这两种函数在运行机制不同,当客户端向服务器发出一个请求的时候,服务器进行响应;当响应的数据在缓存中的时候,注册函数可以在缓存中查找所要查找的内容;而普通函数(例如:web_find)需要等我们请求的显示页面完全显示出来后,从这个显示页面中进行查找制定的字符串内容
3、web_find使用时必须开启内容检查选项,而web_reg_find则没有此限制
4、web_find只能只用在基于HTML模式录制的脚本中,而web_reg_find没有此限制
5、web_find是在返回的页面中进行内容查找,web_reg_find是在缓存中进行查找
6、web_find在执行效率上不如web_reg_find
常用web_reg_find函数!~
如:
web_reg_find("Fail=NotFound",
"Search=Body", // 定义查找范围
"SaveCount=loginst", // 定义查找计数的变量名称
"Text={username}", // 定义查找内容
LAST);
运行时报错:Error -26366 : Text={username} not found。。。
改成:
web_reg_find("Search=Body",
"SaveCount=loginst",
"Text={username}",
LAST);
lr_output_message("loginst=%s",lr_eval_string("{loginst}"));
if(atoi(lr_eval_string("{loginst}"))>0) // 判断要查找的字符出现次数
lr_end_transaction("login", LR_PASS);
else
lr_end_transaction("login", LR_FAIL);
结果:loginst = 1,表示查找到了。事务PASS。
这里也比较晕!
注意:
1、web_reg_find放置的位置!web_reg_find是注册函数,放在显示页面请求之前~
通常情况下写在如下六个函数之前:
web_castom_request();
web_image();
web_link();
web_submit_data();
web_submit_form();
web_url();
2、脚本通过和事务Pass是两回事。
收藏
举报
TAG: