51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3131|回复: 16
打印 上一主题 下一主题

[求助] 手动关联-问题已解决,谢谢梦醒十分和ZEE

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-24 16:36:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下午学习了关联,遇到Error -27190: No match found for the requested parameter "MercurySession". 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 ,梦醒十分兄和其他大虾们再指点一下.



看很多人都在讨论手动关联,也想学习一下。可是我测试过的项目录制脚本并回放,都没有发现需要用到关联的地方,我把自动关联都关掉了,也没找到。哪位好心人能推荐一个外部的网站,适合初学者学习手动关联???
最好不是那种登陆用验证码的项目,谢谢,非常感谢!

[ 本帖最后由 drabit 于 2006-4-26 15:15 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-25 11:31:34 | 只看该作者
LR的本身的例子就可以,在mercury tour主页上,server option选3,点config后,就可以做关于session ID的关联练习了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-4-25 11:58:00 | 只看该作者
thanks a lot,梦醒十分,非常感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-4-25 15:38:11 | 只看该作者

下午学习了关联,遇到Error -27190的错误

下午学习了关联,遇到Error -27190: No match found for the requested parameter "MercurySession". 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 ,梦醒十分兄和其他大虾们再指点一下.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-4-25 15:40:18 | 只看该作者

action部分的脚本

#include "as_web.h"


Action()
{
        web_url("index.html",
                "URL=http://localhost/MercuryWebTours/index.html",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t1.inf",
                "Mode=HTML",
                LAST);

        lr_think_time( 7 );
//这里加上了关联函数   

web_reg_save_param("MercurySession",
                        "LB=userSession=",
                        "RB=&username=mercury&password=mercury&JSFo",
                    "Ord=1",
                        "RelFrameId=1",
                        "Search=body",
                        LAST);

        web_submit_data("login.pl",
                "Action=http://localhost/MercuryWebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://localhost/MercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value={MercurySession}", ENDITEM,
                "Name=username", "Value=meggie", ENDITEM,
                "Name=password", "Value=mercury", ENDITEM,
                "Name=JSFormSubmit", "Value=on", ENDITEM,
                "Name=login.x", "Value=67", ENDITEM,
                "Name=login.y", "Value=13", ENDITEM,
                LAST);

        lr_think_time( 1 );

        web_image("Search Flights Button",
                "Alt=Search Flights Button",
                "Snapshot=t3.inf",
                EXTRARES,
                "Url=FormDateUpdate.class", "Referer=", ENDITEM,
                "Url=CalSelect.class", "Referer=", ENDITEM,
                "Url=Calendar.class", "Referer=", ENDITEM,
                "Url=YearMonthPanel.class", "Referer=", ENDITEM,
                "Url=DayPanel.class", "Referer=", ENDITEM,
                "Url=DateInfo.class", "Referer=", ENDITEM,
                LAST);

        lr_think_time( 4 );

        web_submit_form("reservations.pl",
                "Snapshot=t4.inf",
                ITEMDATA,
                "Name=depart", "Value=Frankfurt", ENDITEM,
                "Name=departDate", "Value=05/11/2006", ENDITEM,
                "Name=arrive", "Value=London", ENDITEM,
                "Name=returnDate", "Value=05/13/2006", ENDITEM,
                "Name=numPassengers", "Value=1", ENDITEM,
                "Name=roundtrip", "Value=<OFF>", ENDITEM,
                "Name=seatPref", "Value=None", ENDITEM,
                "Name=seatType", "Value=Coach", ENDITEM,
                "Name=findFlights.x", "Value=27", ENDITEM,
                "Name=findFlights.y", "Value=21", ENDITEM,
                LAST);

        web_submit_form("reservations.pl_2",
                "Snapshot=t5.inf",
                ITEMDATA,
                "Name=outboundFlight", "Value=120;266;05/11/2006", ENDITEM,
                "Name=reserveFlights.x", "Value=91", ENDITEM,
                "Name=reserveFlights.y", "Value=21", ENDITEM,
                LAST);

        web_submit_form("reservations.pl_3",
                "Snapshot=t6.inf",
                ITEMDATA,
                "Name=firstName", "Value=meggie", ENDITEM,
                "Name=lastName", "Value=wang", ENDITEM,
                "Name=address1", "Value=shanghai", ENDITEM,
                "Name=address2", "Value=shanghai", ENDITEM,
                "Name=pass1", "Value=meggie wang", ENDITEM,
                "Name=creditCard", "Value=", ENDITEM,
                "Name=expDate", "Value=", ENDITEM,
                "Name=saveCC", "Value=<OFF>", ENDITEM,
                "Name=buyFlights.x", "Value=67", ENDITEM,
                "Name=buyFlights.y", "Value=7", ENDITEM,
                LAST);

        lr_think_time( 4 );

        web_image("Home Button",
                "Alt=Home Button",
                "Ordinal=1",
                "Snapshot=t7.inf",
                LAST);

        web_image("Itinerary Button",
                "Alt=Itinerary Button",
                "Ordinal=1",
                "Snapshot=t8.inf",
                LAST);

        lr_think_time( 10 );

        web_image("Home Button_2",
                "Alt=Home Button",
                "Ordinal=1",
                "Snapshot=t9.inf",
                LAST);

        return 0;
}

[ 本帖最后由 drabit 于 2006-4-25 15:50 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-4-25 15:47:02 | 只看该作者
我通过Compare with Vuser…的方式找到需要关联的地方是
userSession=92826.8789793439tHHtHicpfiHfciztipzQffcf

通过在execution log中找到左右边界.为何运行脚本不能通过,哪里设置的不对??
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-4-25 16:23:58 | 只看该作者
偶觉得你的左右边界找的不对,能否看看你的LOG?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-4-26 08:59:29 | 只看该作者

execution log如下,zee兄帮我看看,谢谢

execution log见附件,zee兄和其他大虾指点一下,谢谢

[ 本帖最后由 drabit 于 2006-4-26 09:02 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2006-4-26 08:59:49 | 只看该作者
我是参照oldsydny的那篇文章学习的,根据execution log中
Action.c(17):     userSession=92832.1539894694tHHfAfDpQcAiDDDDcizfApDcDfcf&username=mecury&password=mercury&
确定左边界:userSession=
右边界:&username=mecury&password=mercury&

请问哪里出错了??

[ 本帖最后由 drabit 于 2006-4-26 09:08 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2006-4-26 09:20:13 | 只看该作者
应该是从Recording Log中查找。你从execution log查找的
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2006-4-26 10:23:21 | 只看该作者

ZEE兄和其他大虾们再帮看看

我学习oldsydney的文章,看到
1.recording log是用来判断数据是否需要关联的,“在Recording Log中找到了要找的数据,这时要确认数据是从服务器端传送过来的。首先可以先检查数据的标头,从标头的Receiving response可以知道数据是从服务器端传送到client端的。”
2.execution log是用来看哪一行要插入关联函数,并确定左右边界."再回到Execution Log中,选取动态数据前的字符串并且复制它。....."

另外,我刚才还是试了recording log中找,还是不对
web_reg_save_param("MercurySession",
                        "LB=input type=hidden name=userSession value=",
                        "RB=>",
                        "Ord=1",
                        "RelFrameId=1",
                        "Search=body",
                        LAST);


        web_submit_data("login.pl",
                "Action=http://localhost/MercuryWebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://localhost/MercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value={MercurySession}", ENDITEM,
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2006-4-26 12:59:48 | 只看该作者
还不对?来再看看你的recording log。开启所有LOG。另用lr_evel_string得到变量值,然后输入看看。

[ 本帖最后由 Zee 于 2006-4-26 13:08 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-4-26 13:11:08 | 只看该作者
"RelFrameId=1",这里没错吧。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2006-4-26 14:00:40 | 只看该作者
关于关联这一块我也在摸索中,斑竹的文章我也看了,不错!
1.recording log是用来判断数据是否需要关联的,“在Recording Log中找到了要找的数据,这时要确认数据是从服务器端传送过来的。首先可以先检查数据的标头,从标头的Receiving response可以知道数据是从服务器端传送到client端的。”
2.execution log是用来看哪一行要插入关联函数,并确定左右边界."再回到Execution Log中,选取动态数据前的字符串并且复制它。....."

学习....GO ON
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-4-26 14:03:40 | 只看该作者
usersession值的是网页一打开就获得的。
所以web_reg_save_param必须加在最前面,而你加在了web_url的后面。这样就获取不到此值了。
web_reg_save_param的LB、RB取值也可以简化成这个样子:
web_reg_save_param("AAA",
        "LB=userSession value=",
        "RB=>",
        LAST);
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2006-4-26 15:07:44 | 只看该作者
谢谢梦醒十分,你的指点我试过了。一次通过!!!很高兴!
也谢谢ZEE。

另,总结一下:
1.关联的数据应在recording log中找,确定是receiving response from server
2.设定左右边界也应该在recording log中找.
3.最重要的,在我这个例子中web_reg_save_param应放在脚本最前面,因为一打开网页,session值就获得了.

论坛中的高手很多,也很热心!向你们致敬!

[ 本帖最后由 drabit 于 2006-4-26 15:14 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2006-4-26 15:27:02 | 只看该作者
No match found for the requested parameter "MercurySession". 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

我也出现了这个提示,请问该怎么解决啊??
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 03:08 , Processed in 0.081070 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表