初级-LR检查点的常用写法
上一篇 /
下一篇 2011-06-16 15:05:49
/ 个人分类:原创天下
今日有个
测试同仁问我,她在脚本中设置了检查点,调试‘通过’。场景运行后,Error中提示检查点未找到,但是失败的事务数却为0。检查原因后发现,其脚本中没有和事务关联在一起。
在此说明下检查点的使用,作为今后参考的资料。
一、检查点常用写法
Action()
{
.....
web_reg_find("Text=lr11 破解",//查找的内容为:lr11 破解
"SaveCount=SearchContent",
LAST);
.....
if (atoi(lr_eval_string("{SearchContent}"))>0) {
lr_output_message("成功!");
lr_end_transaction("Search",LR_PASS);//找到检查内容,则该事务状态为Pass
}
else {
lr_error_message("失败!");
lr_end_transaction("Search",LR_FAIL);//未找到检查内容,事务状态为Fail
}
return 0;
}
二、对比测试
看看下面的测试案例:
1、不在if语句中加结束事务的判断语句(即原来的脚本):--->实际结果为: 有Error, 但是事务的结束状态为‘Pass’;
1)初始代码:
....
web_reg_find("Text=lr11 破解11111",
"SaveCount=SearchContent",
LAST);
....
if (atoi(lr_eval_string("{SearchContent}"))>0) {
lr_output_message("成功!");
}
else {
lr_error_message("失败!");
}
lr_end_transaction("Search",LR_AUTO);
运行结果:
Action.c(57): Error: 失败!
Action.c(63): Notify: Transaction "Search" ended with "Pass" status (Duration: 0.3754 Wasted Time: 0.0095).
2.在if语句中加结束事务的判断语句(优化后的语句,见截图)-->实际结果为:有Error, 事务的结束状态为‘Fail’
1)优化后的代码:
web_reg_find("Text=lr11 破解11111",
"SaveCount=SearchContent",
LAST);
....
if (atoi(lr_eval_string("{SearchContent}"))>0) {
lr_output_message("成功!");
lr_end_transaction("Search",LR_PASS);
}
else {
lr_error_message("失败!");
lr_end_transaction("Search",LR_FAIL);
}
2)运行结果:
Action.c(59): Error: 失败!
Action.c(60): Notify: Transaction "Search" ended with "Fail" status (Duration: 0.2731 Wasted Time: 0.0110).
三、原因分析
原脚本中,没有将检查点的状态与事务状态关联在一起,导致场景运行时可能出现有error,而failed transaction等于0的情况。当然,这只是原因之一,有可能还有其他原因,待进一步确认。
收藏
举报
TAG: