文中我将介绍LOADRUNNER对事务操作的几个函数,并通过一个例子,说明LOADRUNNER中事务是否成功是如何判断的,同时也介绍如何判断在脚本执行过程中脚本是否真实的执行成功。
  1.先问个问题,我们带着问题继续
  录制一个登陆脚本,对登陆用户和密码进行参数化,使前2个用户名正确,第三个用户名错误,设置脚本迭代3次,分别使用第一个、第二个、第三个用户登陆,此时在脚本中对登陆的提交操作加一个事务TR_LOGIN,现在提出问题:运行脚本时
  第一个用户登陆成功,事务TR_LOGIN是否成功?
  第二个用户登陆成功,事务TR_LOGIN是否成功?
  第三个用户登陆失败,事务TR_LOGIN是否成功?
  答案是:TR_LOGIN事务三次执行时均成功
  那有人会问,登陆失败为什么事务成功?我们一起来看下面的例子,相信在做过例子后会得到答案!
  我这个例子录制的是LOADRUNNER自带的mercuryWebTours
  录制方法在这里不介绍了,录制完成并对用户名和密码参数化后的脚本如下:(参数化时其中第三个用户名是错误的)

Action()
{
double trans_time;
int status;
web_url("mercuryWebTours",
"URL=http://127.0.0.1:1080/mercuryWebTours/",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
lr_start_transaction("tr_login");
trans_time=lr_get_transaction_duration( "tr_login" );
//lr_get_transaction_duration这个函数可以得到事务执行所消耗的时间
web_reg_find("Text=Error",
"SaveCount=login_Count", LAST);
//web_reg_find这个函数可以在相应的范围内找到要找的内容,和检查点类似,但这个函数被WEB_FIND多一个参数返回结果,那是savecount这个值可以记录在指定范围内找到指定内容的个数,这个例子中我们是通过这个值来判断用户是否真正的登陆成功
//说明:在登陆失败后,登陆页面会有一个“ERROR”的字符串,所以我们认为如果出现该字符串代表登陆失败,这个判断登陆成功或失败的条件,根据具体的项目不同而不同,根据实际情况而定
status = web_submit_form("login.pl",
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value={name}", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=login.x", "Value=51", ENDITEM,
"Name=login.y", "Value=12", ENDITEM,
LAST);
//我们把web_submit_form函数执行的结果赋给status这个变量,如果成功返回0,不成功返回大于0的数
if (status == 0) //如果成功
lr_end_transaction("tr_login", LR_PASS);//如果提交成功,设置事务状态为PASS
else
lr_end_transaction("tr_login", LR_FAIL);//如果提交失败,设置事务状态为FAIL
if (trans_time) //如果该事务消耗了时间输出该时间
lr_output_message("tr_login事务耗时 %f 秒", trans_time);
else            //如果该事务没有消耗时间,那么输出时间不确定
lr_output_message("The duration cannot be determined.");
if (atoi(lr_eval_string("{login_Count}")) > 0){
//如果在登陆后的页面中找到“ERROR”这个字符串,我们认为登陆失败
lr_error_message("Login failed");
}
else{
//否则登陆成功
lr_output_message("Login successful.");
return(0);
}
return 0;
}
 
上一页123下一页
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。