51Testing软件测试论坛

标题: 这个脚本的关联设置怎么不对啊?请大家指点! [打印本页]

作者: 开朗幽默    时间: 2011-3-8 16:09
标题: 这个脚本的关联设置怎么不对啊?请大家指点!
录制LR自带的飞机订票系统,脚本如下:
        web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/WebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                "Snapshot=t9.inf",
                "Mode=HTTP",
                ITEMDATA,                 "Name=userSession", "Value=105270.948481166ftVtiHtptVcfDctiQpctztHf", ENDITEM,
                "Name=username", "Value=admin", ENDITEM,
                "Name=password", "Value=admin", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=28", ENDITEM,
                "Name=login.y", "Value=12", ENDITEM,
                LAST);
我设置了关联,把"Name=userSession", "Value=105270.948481166ftVtiHtptVcfDctiQpctztHf"的value用参数Sessionid代替了,关联之后的脚本如下:
web_reg_save_param("Sessionid","LB=userSession","RB=>","Search=Body",LAST);
    web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/WebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
                "Snapshot=t9.inf",
                "Mode=HTTP",
                ITEMDATA,
                "Name=userSession", "Value={Sessionid}", ENDITEM,
                "Name=username", "Value=admin", ENDITEM,
                "Name=password", "Value=admin", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=53", ENDITEM,
                "Name=login.y", "Value=16", ENDITEM,
                LAST);
但是回放的时候报错了:Action.c(91): Error -26377: No match found for the requested parameter "Sessionid". 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          [MsgId: MERR-26377]
Action.c(91): web_submit_data("login.pl") highest severity level was "ERROR", 741 body bytes, 225 header bytes          [MsgId: MMSG-26388]
请教大家,这是怎么回事呢?
作者: 杀手太冷    时间: 2011-3-8 16:20
你先自动关联试试~~~~~~~~
作者: 开朗幽默    时间: 2011-3-8 16:33
设置了自动关联,不过回放完之后,没有弹出Scan action for correlation窗口啊
作者: jj_ljw    时间: 2011-3-8 17:03
不关联脚本可以回放成功,实现登录操作功能吧
作者: 开朗幽默    时间: 2011-3-8 17:10
恩,可以
作者: 真实的追求者    时间: 2011-3-8 17:37
保存数据超过256个字节 应该使用web_set_max_html_param_len参加参数大小
作者: zhoward    时间: 2011-3-8 17:39
检查左右边界是否正确。 自动扫描关联,在回放之后从菜单中选择,好像是vusers-Scan action for correlation
作者: 开朗幽默    时间: 2011-3-8 17:55
找不到这个选项呢
作者: yzylion    时间: 2011-3-8 23:01
1、查看是否需要使用web_set_max_html_param_len函数,至于什么情况下使用,楼上有说了
2、检查你的左右边界设置,如果设置对了,在打开日志--》扩展--》数据库返回中查看ord的值指定是否正确
3、查看tree模式下,回放过程与录制过程的对比,是否实际回放时,脚本已经执行到了usersession这个地方。
个人意见,欢迎拍砖,解决后,来这里分享
作者: 逝水流年    时间: 2011-3-9 09:35
1.可以用下自动关联试试,在Vuser 中 Scan Action For Correlation  中
2.Error -26377: No match found for the requested parameter "Sessionid". 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_set_max_html_param_len设置大一点可以排除这个可能性。
3. 个人认为你关联函数放置的位置不对,关联函数的是个注册型的函数,是要放到起作用的function 前面,你这个usersession 是哪一步由服务器返回的,你关联函数就要放在这一步前面,表示要在接下来这一步中抓取关联。而不是这个值需要在submit_data 中使用 你就放在submit 前 这样是肯定报错的。你可是试下。

这一点是我自己总结出来了,不知道是不是正确,也是我一直以来存在的一个困惑,望高手出来指点迷津。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2