51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 11572|回复: 25
打印 上一主题 下一主题

[求助] LR中关于关联和参数化的一点问题求解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-5-9 17:56:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在进行关联后,设置参数化,编译时提示:错误 -26377: 找不到请求的参数“userSession”的匹配项。检查请求的边界是否存在于响应数据中。此外,如果要保存的数据超过 256 个字节,请使用 web_set_max_html_param_len 增加参数大小          [MsgId: MERR-26377]



我觉得应该是我参数化不对,但是不知道怎么去参数化这个值,请各位路过的大神解答下,谢谢!(小妹研究LR不久,小白问题也请各位帮下忙~

Action()
{

        lr_start_transaction("login_10");

        lr_rendezvous("login_10");

        lr_think_time(47);

    web_reg_save_param("userSession","LB=input type=hidden name=userSession value=","RB=>",LAST);


        web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/mercuryWebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/mercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=userSession", "Value={userSession}", ENDITEM,
                "Name=username", "Value={Username}", ENDITEM,
                "Name=password", "Value={Password}", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=44", ENDITEM,
                "Name=login.y", "Value=8", ENDITEM,
                LAST);

        lr_end_transaction("login_10",LR_AUTO);

        return 0;
}


究竟这个userSession的参数化值应该怎么定义呢?原来是108217.408262454ffzztDcpQDHfDDDQipfQHzcf;


再次谢谢各位大大们~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-5-9 19:31:36 | 只看该作者
web_reg_save_param是关联服务器返回值用的,必须放在返回值的代码前面。现在userSession根本取不到值,那也没法运行了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-5-10 10:02:31 | 只看该作者
1.关联的userSession,这个是关联不是参数化,设置好web_reg_save_param("userSession","LB="Name=userSession", "Value=","RB=>",LAST);
这样就可以了。
2.关联就是关联,没事把这个东西参数化干嘛,难道你还能知道他每次变换产生的那些乱七八糟的东西。。。。
3.web_set_max_html_param_len放个1024上去就可以了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-5-10 10:15:01 | 只看该作者
这个是要做关联才对
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-5-10 10:36:19 | 只看该作者
回复 3# hclovezz1314


  我只是去掉参数化之后再次编译无错,回放时提示:
Action.c(10): 错误 -27216: 参数无效(编号 3)          [MsgId: MERR-27216]
Action.c(10): 注册 web_reg_save_param 的最高严重级别为“ERROR”          [MsgId: MMSG-26389]
Action.c(10): 通知: Transaction "login_10" ended with "Fail" status (Duration: 0.0348).

请问下这个是什么原因呢~谢谢了~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2012-5-10 10:38:18 | 只看该作者
回复 4# zhoward


    我就是做了关联,初次接触关联,昨天百度文库里找了个关联的教程看了看,说是要对关联的做参数化,我就做了T.T,结果就报错了,现在去掉参数化之后再次编译时报错提示参数无效~~
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-5-10 10:42:48 | 只看该作者
把修改后的代码贴出来
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2012-5-10 10:49:07 | 只看该作者
回复 7# ymwang119


    Action()
{

        lr_start_transaction("login_10");

        lr_rendezvous("login_10");

        lr_think_time(47);

        web_reg_save_param("userSession","LB=input type=hidden name=userSession", "value=","RB=>",LAST);
   
        web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/mercuryWebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/mercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
   

                "Name=userSession", "Value=108217.408262454ffzztDcpQDHfDDDQipfQHzcf", ENDITEM,
                "Name=username", "Value={Username}", ENDITEM,
                "Name=password", "Value={Password}", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=44", ENDITEM,
                "Name=login.y", "Value=8", ENDITEM,
                LAST);

        lr_end_transaction("login_10",LR_AUTO);

        return 0;
}
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-5-10 11:39:18 | 只看该作者
参数化的意思是要把你所做的关联userSession值用{userSession}参数化......另外,你设置了集合点,那思考时间应当要放在集合点外,不然你这算出来的事务时间就差太多了。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2012-5-10 15:44:22 | 只看该作者
你的情况一般三种可能:
1. 服务器挂掉了。你先手工操作一下看看是不是服务器真的挂掉了。
2.你的关联左右边界出了错误。到Response中查看一下是不是左右边界搞错了。
3. 你关联的数据太长超过了默认可以关联的最大长度。可以通过web_set_max_html_param_len函数设置关联数据的最大长度,不过这个可能性在你现在的脚本中不存在。
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2012-5-10 16:21:42 | 只看该作者
本帖最后由 ymwang119 于 2012-5-10 16:36 编辑

回复 8# xiongxixin

脚本修改如下试试:
   
    Action()
{
       lr_rendezvous("login_10");
        lr_start_transaction("login_10");

        lr_think_time(10);


web_reg_save_param("userSession","LB=Value=\"","RB=\"","NotFound=ERROR","Search=All", LAST);

        web_submit_data("login.pl",
                "Action=http://127.0.0.1:1080/mercuryWebTours/login.pl",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/mercuryWebTours/nav.pl?in=home",
                "Snapshot=t2.inf",
                "Mode=HTML",
                ITEMDATA,
  
                "Name=userSession", "Value={userSession}", ENDITEM,
                "Name=username", "Value={Username}", ENDITEM,
                "Name=password", "Value={Password}", ENDITEM,
                "Name=JSFormSubmit", "Value=off", ENDITEM,
                "Name=login.x", "Value=44", ENDITEM,
                "Name=login.y", "Value=8", ENDITEM,
                LAST);

        lr_end_transaction("login_10",LR_AUTO);

        return 0;
}
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2012-5-10 16:28:49 | 只看该作者
11#  有的特殊字符要转义,需要注意一下
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2012-5-11 09:07:33 | 只看该作者
回复 1# xiongxixin


    关联的左右边界错了,你关联的userSession值取到的实际值和你预期的值不一样的,所以你向服务器发送请求的时候,服务器没办法相应你的请求的
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-5-14 15:19:45 | 只看该作者
别那么长的左边界,就value=就OK了,然后看看在log里是第几个"value=".
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2012-5-14 15:20:11 | 只看该作者
别那么长的左边界,就value=就OK了,然后看看在log里是第几个"value=".
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    16#
    发表于 2012-5-21 14:55:36 | 只看该作者
    关联错了哦。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2012-5-21 15:04:43 | 只看该作者
    回复 12# guchenggao


        多谢提示,已改正
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2012-5-21 17:26:57 | 只看该作者
    我怎么觉得楼主不应该用关联,而是应该用参数化。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2012-5-23 16:48:40 | 只看该作者
    userSession应该是关联
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2012-5-23 18:51:50 | 只看该作者
    web_reg_save_param("userSession","LB=input type=hidden name=userSession value=","RB=>",LAST);
    这个应该放在前一个请求前,不应放在你要提交的这个数据(服务返回的关联数据)请求前;
    做关联,取和用是在不同的语句,你现在这样写就是取和用在同一个请求,肯定是不对的,估计你漏了一个页面请求(可能就是你打开网站的登陆Logo页面)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 07:37 , Processed in 0.083691 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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