您的位置:首页 > 其它

LoadRunner11关联(Correlation)实例一则

2016-07-12 18:18 639 查看
LoadRunner里面的那个WebTours实在太简单不值得一写,这里要写的是给自己公司首页做的一次登录脚本其中所用到的关联。

Run Logic如下:



现在开始录制,vuser_init部分录制打开首页登录页面:

web_url("login.html",
"URL=http://河蟹",
"TargetFrame=",
"Resource=0",
"Referer=",
"Mode=HTML",
LAST);


Action(login)部分录制登录操作:

web_submit_data("passport",
"Action=http://河蟹",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://河蟹",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value=登录名", ENDITEM,
"Name=userpass", "Value=密码", ENDITEM,
"Name=c", "Value=web", ENDITEM,
"Name=wd", "Value=reapal_app_update", ENDITEM,
"Name=pn", "Value=20160517", ENDITEM,
"Name=tokenid", "Value=", ENDITEM,
"Name=btokenid", "Value=", ENDITEM,
LAST);


最后的vuser_end部分为空。

接着我们添加检查点,由于登录成功之后的页面中有“累计收益”字样,故我在登录操作代码块之前添加了匹配该字样的检查点:

web_reg_find("Text=累计收益",
LAST);

web_submit_data("passport",
"Action=http://河蟹",
"Method=POST",
...
...


我们来回放一下看看找不找得到该字样来证明回放成功:



好吧报错了,回访日志里说没有找到该字样。此时我们应该做关联了,但是这个时候我去Tree视图里看了一下登录成功的页面快照,结果令我无语:



快照没显示出来,然后我网上找了很多方法就是无法解决这个问题……骨感的现实告诉我我该另辟蹊径了。我知道我们公司的首页如果登录成功的话会返回一个状态码是0,如果登录失败是会返回其它状态码的,此时我又去另外一个请求中求证,结果果然不出我所料:



返回了一个code为0,那我们就可以通过在这里添加一个检查点匹配“:0”这个字样:

web_reg_find("Text=:0",
LAST);

web_submit_data("info_3",
"Action=http://河蟹",
"Method=POST",
...
...


我们来reply一下看看:



还是报了错,不过这个时候应该就是没有做关联的问题了,我们来点击工具栏上点击Scan Script for Correlations按钮或者用快捷键Ctrl+F8:



扫描除了一处可能需要关联的地方,是tokenid:



我们点击右下角的Correlate尝试自动做关联,完成后我们回到Script视图查看,关联已经自动完成了:

//Correlation comment - Do not change! Original value='3904ca5' Name ='CorrelationParameter_1'

web_reg_save_param_ex(
"ParamName=CorrelationParameter_1",
"LB=u_5784bd",
"RB=_v1.0",
SEARCH_FILTERS,
"Scope=Body",
"IgnoreRedirections=Yes",
"RequestUrl=*/passport*",
LAST);

web_submit_data("passport",
"Action=http://河蟹",
"Method=POST",
...
...


为了确保关联的正确性,最好检查一下左右边界是否正确,如果碰到双引号(”“)这种字符需要用反斜杠(”\”)转义。

我们再来做最后一次回放:



Bingo!要的就是这句话~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  性能测试 LoadRunner