关联、参数化、思考时间、检查点、事务的设置方式

Action()
{

//如果关联的数据过于长,需要在这里将参数存储的值变大
web_set_max_html_param_len("1024");

//登陆关联,关联函数就是通过指定的左右边界来获取值的。 如果将加载首页放在vuser_Init或者关联函数前面,执行会报错,
//错误 -26377: 找不到所请求参数“userSessionlogin”的匹配项。请检查响应数据中是否存在请求的边界
web_reg_save_param_ex(
"ParamName=CorrelationParameter_1", //关联的名称,可自定义
"LB=userSession value=", //左边界
"RB=>\n<table border", //右边界
SEARCH_FILTERS,
"Scope=All",
"IgnoreRedirections=Yes",
"RequestUrl=*/nav.pl*",
LAST);

//首页加载插入事务,检查响应时间
lr_start_transaction("the_first_page_load");
//首页加载

web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);

lr_end_transaction("the_first_page_load",LR_AUTO);

lr_think_time(3); //思考时间设置3秒,如果需要启动的话,需要在run_time settings>general>think time 去掉勾选的ignore think time设置

//检查点设置,检查登陆成功页面是否有显示用户名,如有,则事务执行成功

web_reg_find("Search=All",
"SaveCount=SaveCountFail",
"Text=Web Tours Error - Incorrect Password",
LAST);

//登陆事务
lr_start_transaction("login");

//登陆页面,输入账号和密码

/* Request with GET method to URL "http://127.0.0.1:1080/favicon.ico" failed during recording. Server response : 404*/

/* Request with GET method to URL "http://bho.xl7.xunlei.com/platform/2.6.x.xxxx/config.xml" failed during recording. Server response : 404*/

lr_think_time(12);

web_submit_data("login.pl",
"Action=http://127.0.0.1:1080/WebTours/login.pl",
"Method=POST",
"TargetFrame=body",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
"Snapshot=t3.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value={CorrelationParameter_1}", ENDITEM,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value={password}", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
"Name=login.x", "Value=70", ENDITEM,
"Name=login.y", "Value=20", ENDITEM,
LAST);

lr_output_message("关联输出的字符串:%s",lr_eval_string("{CorrelationParameter_1}"));

//如果参数化的密码是错误的,这里的判断有问题,密码是错误的,web_reg_find查找的是username参数化,SaveCountFail应该返回0才对,但是返回却是2,而输入正确的用户名和密码反而SaveCountFail变成0,这个问题待解决
// 以上问题的解决思路是反向操作,web_reg_find查找Web Tours Error - Incorrect Password,如果找到,则登陆失败,如果找不到,则登陆成功,可以解决上面问题
//判断事务是否执行成功
if (atoi(lr_eval_string("{SaveCountFail}"))!=0)
{
lr_end_transaction("login",LR_FAIL);
lr_log_message("find the number:%s",lr_eval_string("{SaveCountFail}"));
lr_log_message("login fail,username:%s",lr_eval_string("{username}"));
lr_log_message("login fail,password:%s",lr_eval_string("{password}"));

}

else

{

lr_end_transaction("login",LR_PASS);
lr_log_message("find the number:%s",lr_eval_string("{SaveCountFail}"));
lr_output_message("success");
//输出用户名和密码
lr_log_message("the correct username:%s",lr_eval_string("{username}"));
lr_log_message("the correct password:%s",lr_eval_string("{password}"));
}

lr_think_time(3);

lr_start_transaction("loginout");

lr_think_time(21);

web_url("SignOff Button",
"URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1",
"TargetFrame=body",
"Resource=0",
"RecContentType=text/html",
"Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",
"Snapshot=t4.inf",
"Mode=HTML",
LAST);

lr_end_transaction("loginout",LR_AUTO);

return 0;
}

时间: 2024-12-31 18:23:11

关联、参数化、思考时间、检查点、事务的设置方式的相关文章

性能测试-7.事务、检查、关联、思考时间、集合点

本章目录: 事务及事务状态 检查点 思考时间 集合点 关联 一.事务: 一个或多个业务操作的集合,协助统计业务的时间.TPS就是每秒钟所处理的事务数. 在要添加的函数前后插入事务开始和结束.运行后日志会显示事务的结果和运行时间. 事务=响应时间+传输时间+网络延迟时间 函数自身的时间也会有 二.检查点 检查点:预期值与实际值比较  实际值在所定义的函数下面语句的服务器的响应包里 检查点支持参数化,性能测试中,不建议做过,会消耗时间(对服务器没有负载) 三.思考时间 lr_think_time(1

性能基础知识学习之四---事务,思考时间,检查点,集合点和手写lr接口

一.事物,思考时间,检查点,集合点 1.事务 lr里面的事物是lr运行脚本的基础.lr里面 要测试的三个维度都以事物为单位,所以一定要有事物.事务的概念贯穿loadrunner的使用,比如我们说的响应时间其实是事务的的相应时间;tps,每秒中处理的事务数.当脚本跑完之后没有响应时间,导致此种情况之一就是没定义事务. 而在录脚本时: 1.在录脚本是要添加事务 2.添加事务是为了准确的测出相应请求的响应时间,尽量保证每一个事务中只有一个请求.但当录制脚本的时候,在录制HTML脚本时,由于一个HTML

LoadRunner 思考时间与事务响应时间的区别与关系

LoadRunner 思考时间与事务响应时间的区别与关系   思考时间lr_think_time 就是一个事务要开始时思考的时间;比如 你要点击一个 登录按钮 我们都要点击这个按钮要先思考下 就是人为脑袋思维的延迟,还有手指点击鼠标的这个动作的时间 一般是1-5秒,这就是思考时间,性能测试模拟思考时间就是模拟真实人为动作的方式来做压力测试.一般在脚本中思考时间是这样写比较合理,在一个事务的结束点另一个事务的起始点,两者中间定义思考时间.lr_end_transaction("登录",

LoadRunner几个重要的概念:事务、集合点、思考时间

在LoadRunner的脚步编写中,有三个重要的概念:事务.集合点.思考时间 事务: 事务又称为Transaction,在LoadRunner中的定义如下:An end-to-end(browser-to-browser)  measurement of one or more user actions within action  file.中文理解如下:事务(Transaction)是这样一个点,我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义

LoadRunner 技巧之 思考时间设置

用户访问某个网站或软件,一般不会不停地做个各种操作,例如一次查询,用户需要时间查看查询的结果是否是自己想要的.例如一次订单提交,用户需要时间核对自己填写的信息是否正确等. 也就是说用户在做某些操作时,是会有停留时间的,我把这个时间叫思考时间.但利用代码去执行的时候是没有时间的,当然,脚本运行本身是需要时间的,但比起人的思考时间要小很多.这也是我们为什么要用软件来代替人的某些工作. 但有时候,我们在做性能测试时,为了更真实的模拟用户的操作,需要给代码加入思考时间.来看看在loadrunner是如何

loadrunner设置Analysis分析时去掉思考时间

在进行对loadrunner进行执行脚本的情况下,那么就需要在脚本中进行添加为思考时间,这样才更符合人为的脚本时间,那么在进行执行压力的过程中,思考时间是需要开启的,完成之后为了便于分析那么就需要把思考时间去掉,以便更好的分析报告. 在进行生成的报告的界面中,进行点击菜单中"file"的选项菜单.然后就会弹出了下拉菜单中进行选择为"set global filter"的选项. 进入到了global filter的选项界面中,进行选中列表中think time中为位置

loadrunner - 思考时间

lr_think_time(); 等待时间,请求之间的间隔时间:放在事务的外面 ###########作用:1.控制请求发送的频率:2.以达到控制服务器压力的目的########### 思考时间开关:Run-time Setting -> Think Time -> Replay think time 1.As recorder:根据代码设置时间 2.Multiply recorded think time by:代码设置使时间的多少倍 3.Use random percentage of r

LoadRunner可以把关联取值当作检查点来使用

在性能测试过程中,很多人都会想通过使用检查点来检查系统响应是否正常,LR的51Testing软件测试网E$S ]:x(d a6h.G \(y 检查点对“死”的,静态的 可以做到检查作业,但是对于动态时刻刷新的页面很多人都 8b.LMM f'V#S0 不知道怎么检查系统的响应是否正常,其实我们可以想想LR 另外的一个强大检查工具 %J7Z3o4Y1g[9n_y0 关联可以做到对那种动态页面里面有些特殊数值会时时刷新做系统性能响应检查,例如51Testing软件测试网;VnS5I9CeB 页面里面的

以时间定义事务成败

以时间定义事务成败 double time_elapsed, duration, waste; merc_timer_handle_t timer; Action() { lr_start_transaction("ACCP"); timer = lr_start_timer(); lr_think_time(3); time_elapsed = lr_end_timer(timer); // Convert to millisecond.s waste = time_elapsed