LR对事务状态的跟踪
来源:互联网 发布:二分搜索算法代码 编辑:程序博客网 时间:2024/05/21 07:53
分类: 项目管理
第一个用户登陆成功,事务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("login");
trans_time=lr_get_transaction_duration( "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", ////我们把web_submit_form函数执行的结果赋给status这个变量,如果成功返回0,不成功返回大于0的数
"Snapshot=t2.inf",
ITEMDATA,
"Name=username", "Value={NewParam}", ENDITEM,
"Name=password", "Value={pass}", ENDITEM,
"Name=login.x", "Value=46", ENDITEM,
"Name=login.y", "Value=7", ENDITEM,
LAST);
if (status == 0) //如果成功
lr_end_transaction("login", LR_PASS);//如果提交成功,设置事务状态为PASS
else
lr_end_transaction("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);
}
web_image("SignOff Button",
"Alt=SignOff Button",
"Snapshot=t3.inf",
LAST);
lr_end_transaction("login", LR_AUTO);
return 0;
}
LR message函数分析
「lr_message」
int lr_message (const char *format, exp1, exp2,……expn.);中文解释:lr_message函数将信息发送到日志文件和输入窗口。在VuGen中运行时,输入文件为output.txt.「lr_log_message」
int lr_log_message (const char *format, exp1, exp2,……expn.);中文解释:lr_log_message函数将消息发送到Vuser或代理日志文件(取决于应用程序),而不是发送到输出窗口。通过向日志文件发送错误消息或其他信息性消息,可以将该函数用于调试。
「lr_error_message」
int lr_error_message (const char *format, exp1, exp2,……expn. );中文解释:lr_error_message函数将错误消息发送到输出窗口和Vuser日志文件。要发送不是特定错误消息的特殊通知,请使用lr_output_message.「lr_output_message」
int lr_output_message (const char *format, exp1, exp2,……expn.);中文解释:lr_output_message函数将带有脚本部分的行号的消息发送到输出窗口和日志文件。
- LR对事务状态的跟踪
- LR事务四种状态
- LR事务的四种状态
- LR 事务!
- 100个提交事务的LR脚步
- 对LR analysis的平均事务响应时间和summary里的时间值的不同的解释
- 对LR analysis的平均事务响应时间和summary里的时间值的不同的解释
- 对LR analysis的平均事务响应时间和summary里的时间值的不同的解释
- 订单状态的跟踪分析
- LR中对字符串的处理
- LR 添加事务
- SQLSERVER 如何跟踪执行的各项事务 语句跟踪
- LR中duration和事务停止的关系-Zee
- 跟踪事务代码检查的权限
- LR的一个输出状态信息的函数
- 对事务的认知
- 对事务的理解
- 对事务的理解
- 堆与堆排序—优先队列
- WebAPI 用户认证防篡改实现HMAC(一)MD5签名获取
- (15) 动态代理 ---- cglib动态代理
- Qt Quick事件处理之鼠标、键盘、定时器
- World Wind Java开发之十三——加载Geoserver发布的WMS服务
- LR对事务状态的跟踪
- Spring进阶—如何用Java代码实现邮件发送(二)
- UVA - 11538 - Chess Queen (数论~)
- 使用随机文件流类RandomAccessFile将一个文本文件倒置读出。
- Linux系统调用--fcntl函数详解
- 【CodeForce】509F Progress Monitoring(树形情景区间DP)
- Best Time to Buy and Sell Stock III (Java)
- shell写的日期函数
- oracle一个创建用户、创建表空间、授权、建表的完整过程