jiyue 发表于 2016-4-1 15:59:00

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;
}

jiyue 发表于 2016-4-1 16:08:33

忘记一个简单的方法,不过不推荐,就是把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]
查看完整版本: loadrunner自己给自己填了个大坑,加入检查点时报错