1:LoadRunner关联sessionID
1.1:录制脚本
1.1.1:Start Recording设置
我们以LoadRunner11自带的sample做这个演示
1.1.2:如下图 点击小图标 设置检查点
设置"Welcome,admin"为检查点,完成脚本的录制
1.1.3:录制好的脚本如下
注释是我自己录制完成后添加的
Action()
{
web_add_cookie("MUID=3B882A344D5C68BB06CB2651495C6958; DOMAIN=www.bing.com");
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t3.inf",
"Mode=HTML",
EXTRARES,
"Url=http://se.360.cn/cloud/picinfo.ini", "Referer=", ENDITEM,
"Url=http://www.bing.com/favicon.ico", "Referer=", ENDITEM,
LAST);
// 设置检查点 检查下面的登录操作 以页面是否有Welcome,admin为判断是否登录成功的标志
web_reg_find("Text=Welcome, <b>admin",
LAST);
lr_think_time(10);
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=t4.inf",
"Mode=HTML",
ITEMDATA,
//userSession是变化的值,每次登陆都会有不同的userSession产生
"Name=userSession", "Value=124463.257189145ztAcAHipHQVzzzzHDitVcptHcHf", ENDITEM,
"Name=username", "Value=admin", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
"Name=login.x", "Value=61", ENDITEM,
"Name=login.y", "Value=8", ENDITEM,
LAST);
return 0;
}
1.2:提取关联
1.2.1:提取关联方法一(自动扫描关联)
1:Vuser-->Scan Script for Correlatons
2:自动生成关联-点击下图的“Correlate”可以自动生成关联
3:生成后的脚本是这样的 相对最开始的脚本多了web_reg_save_param_ex这个函数 和 Value=124463.3{CorrelationParameter_1}ztAcAitpDAiDDDDDDitVcpfAfif"
Action()
{
web_add_cookie("MUID=3B882A344D5C68BB06CB2651495C6958; DOMAIN=www.bing.com");
//Correlation comment - Do not change! Original value='64439044' Name ='CorrelationParameter_1'
web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB=124463.3",
"RB=z",
SEARCH_FILTERS,
"Scope=Body",
"IgnoreRedirections=Yes",
"RequestUrl=*/nav.pl*",
LAST);
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t9.inf",
"Mode=HTML",
EXTRARES,
"URL=http://se.360.cn/cloud/picinfo.ini", ENDITEM,
"URL=http://www.bing.com/favicon.ico", ENDITEM,
LAST);
web_reg_find("Text=Welcome, <b>admin",
LAST);
lr_think_time(10);
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=t10.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value=124463.3{CorrelationParameter_1}ztAcAitpDAiDDDDDDitVcpfAfif", ENDITEM,
"Name=username", "Value=admin", ENDITEM,
"Name=password", "Value=123456", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
"Name=login.x", "Value=52", ENDITEM,
"Name=login.y", "Value=8", ENDITEM,
LAST);
return 0;
}
1.2.2:手动提取关联
1:run-time settings放开全部的日志
2:运行该脚本
3:在日志中搜索“userSesssion”(userSesssion为变化的关联参数的key值)
4:日志搜索结果 鼠标双击这里可以跳转到LoadRunner脚本对应产生该关联的起始函数位置
5:在跳转到的关联产生的函数的上面鼠标右键 Insert-->New Step
6:选择web_reg_save_param
7:提取关联 命名为sessionID(这个类似Jmeter的正则表达式提取变量)
8:提取后 脚本增加如下函数:
9:将提取到的sessionID变量放入到userSession对应的value的位置
10:再次运行该脚本 发现可以运行成功,没有任何error 表示该关联提取成功