loadrunner自己给自己填了个大坑,加入检查点时报错
最近在研究loadrunner,使用loadrunner自带的网站进行测试时发现,尽管录制脚本和回放脚本过程都没有报错,不过,在完成订票之后在网站中查询已经订的票并不能查到插入的数据。经过各种查资料明白是session的问题,需要进行手动关联,需要进行关联的是这个东东
"Name=userSession", "Value=118209.917294451zAiAtccpzcAiDDDDDzticpfDfHcf", ENDITEM,
然后开始进行手动关联,手动关联的具体步骤就不详细说了,就是
web_reg_save_param("WCSParam_Diff1",
"LB=userSession value=",
"RB=>",
"Ord=1",
"RelFrameId=1.2.1",
"Search=Body",
"IgnoreRedirections=Yes",
LAST);
不过一开始把这个函数放到了下面web_submit_data前面,其它没有注意
web_submit_data("login.pl",
"Action=http://localhost:1080/WebTours/login.pl",
"Method=POST",
"TargetFrame=body",
"RecContentType=text/html",
"Referer=http://localhost:1080/WebTours/nav.pl?in=home",
"Snapshot=t40.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value={WCSParam_Diff1}", ENDITEM,
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
"Name=login.x", "Value=38", ENDITEM,
"Name=login.y", "Value=2", ENDITEM,
"Name=login", "Value=Login", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
LAST);
然后回放脚本一直报错
Action.c(46): Error -26377: No match found for the requested parameter "storeNameId". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 256 bytes, use web_set_max_html_param_len to increase the parameter size
查了各种资料都没有解决,然后把网上能通过的拷到自己电脑上一行行的比较,最后发现,别人都是把web_reg_save_param函数放在最前面,然后我就试了试,居然成功了,回放脚本之后不报错了,在已订的航班也查到我插入的信息了
为了避免以后新学loadrunner的小伙伴遇到这个问题花很多时间解决,我就发一下我的遭遇,正确的是这样的
Action()
{
//放在最前面!!!!!!
web_reg_save_param("WCSParam_Diff1",
"LB=userSession value=",
"RB=>",
"Ord=1",
"RelFrameId=1.2.1",
"Search=Body",
"IgnoreRedirections=Yes",
LAST);
web_url("WebTours",
"URL=http://localhost:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Mode=HTML",
LAST);
。。。。。。
return 0;
} 忘记一个简单的方法,不过不推荐,就是把web_submit_data换成web_submit_form,这样就没有session的问题了,也没有手动关联的问题了,不过学到的东西变少了
web_submit_form("login.pl",
"Snapshot=t35.inf",
ITEMDATA,
"Name=username", "Value=jojo", ENDITEM,
"Name=password", "Value=bean", ENDITEM,
"Name=login.x", "Value=52", ENDITEM,
"Name=login.y", "Value=11", ENDITEM,
LAST);
页:
[1]