51Testing软件测试论坛

标题: LR关联的问题,回放脚本可以成功,但是场景中关联部分成功部分报错 [打印本页]

作者: wxa1    时间: 2012-12-27 09:51
标题: LR关联的问题,回放脚本可以成功,但是场景中关联部分成功部分报错
情况描述如题,错误代码如下
Action.c(172): Error -26377: No match found for the requested parameter "WCSParam45". Check whether the requested boundaries exist in the response data. Also, if the data you want to save exceeds 1024 bytes, use web_set_max_html_param_len to increase the parameter size
1、我使用的自动关联,单次回放可以成功,是不是可以排除关联函数的问题?;
2、其次肯定不是字节长度的问题,因为变量都是系统返回的32位MD5码,1024足够了
百度了半天原因应该是因为前置的操作没有成功导致没有取到关联的变量值,这个的概率比较大,那就接下来请大神看看我的操作问题
脚本如下(省略了extrares中的内容)

lr_start_transaction("优化");

        /* Registering parameter(s) from source task id 65
        // {WCSParam2} = "351288cd84422bf48229ae1cc0ccb275"
        // */
        web_reg_save_param("WCSParam2",
                "LB/DIG=3&md5=",
                "RB/DIG=&show=",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);

        web_url("优化词条",
                "URL=http://d3m2.zhongsou.com/Keyword/ylogs?kid={ID}&action=seo",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://d3m2.zhongsou.com/Keyword/seo",
                "Snapshot=t4.inf",
                "Mode=HTML",
                EXTRARES,               
                LAST);

        web_custom_request("autodata",
                "URL=http://d3m2.zhongsou.com/Searchsource/autodata",
                "Method=POST",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://d3m2.zhongsou.com/Searchsource/index?kid={ID}&faction=seo",
                "Snapshot=t5.inf",
                "Mode=HTML",
                "EncType=application/x-www-form-urlencoded; charset=UTF-8",
                "BodyBinary=kid={ID}&keyword={word}&columns=鏂伴椈鍔ㄦ"
                "\\x80\\x81"
                "&typeid=3&md5={WCSParam2}",
                EXTRARES,               
                LAST);

        /* Registering parameter(s) from source task id 135
        // {WCSParam45} = "50dae4a7f66f8deb140004cc"
        // */
        web_reg_save_param("WCSParam45",
                "LB/DIG=type=\"checkbox\"  value=\"",
                "RB/DIG=\" /></td>",
                "Ord=1",
                "Search=Body",
                "RelFrameId=1",
                LAST);

        /* Registering parameter(s) from source task id 135
        // {WCSParam47} = "50dae4a7f66f8deb140004cb"
        // */
        web_reg_save_param("WCSParam47",
                "LB/DIG=type=\"checkbox\"  value=\"",
                "RB/DIG=\" /></td>",
                "Ord=2",
                "Search=Body",
                "RelFrameId=1",
                LAST);

        web_url("index",
                "URL=http://d3m2.zhongsou.com/Searchsource/index?kid={ID}&faction=seo&keyword={word}&columns=%E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t6.inf",
                "Mode=HTML",
                EXTRARES,               
                LAST);

        web_custom_request("temporary",
                "URL=http://d3m2.zhongsou.com/Searchsource/temporary",
                "Method=POST",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://d3m2.zhongsou.com/Searchsource/index?kid={ID}&faction=seo&keyword={word}&columns=%E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81",
                "Snapshot=t7.inf",
                "Mode=HTML",
                "EncType=application/x-www-form-urlencoded; charset=UTF-8",
                "BodyBinary=typeid=3&id={WCSParam45},{WCSParam47}&kid={ID}&md5={WCSParam2}&temporary_keyword={word}&temporary_columns=鏂伴椈鍔ㄦ"
                "\\x80\\x81"
                "",
                EXTRARES,               
                LAST);

        web_url("index_2",
                "URL=http://d3m2.zhongsou.com/Searchsource/index?kid={ID}&faction=seo&keyword={word}&columns=%E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t8.inf",
                "Mode=HTML",
                EXTRARES,               
                LAST);
        lr_end_transaction("优化", LR_AUTO);
作者: wxa1    时间: 2012-12-27 10:15
在autodata刷新数据之后刷新出的数据每条都有一个对应的MD5,但是数据所处的位置在页面框内并不固定,是不是那个”ord=“的问题,如果是的话应该怎么修改?改成ord=all ?
作者: wxa1    时间: 2012-12-27 11:14
回复 3# xzf2001


    您的意思是我手动再把边界值修改一下 ?前后进行一下扩充么?里面的双引号还有空格要怎么处理啊?
作者: wxa1    时间: 2012-12-27 13:48
自己上上,回放的时候迭代五次,2次成功,3次失败,失败的三次看日志确实没有获取到变量值
作者: wxa1    时间: 2012-12-28 11:17
最近大神们 都什么去了啊?
作者: wxa1    时间: 2013-1-4 12:00
放假这几天左思右想,在优化词条获取到MD5这个时候应该是没问题的,但是在随后的一个autodata页面提交数据的时候那个MD5应该没有被更新,导致后面tem提交的时候后续的MD5要报错,大概是这样
作者: fbccee    时间: 2013-1-5 17:56
可能是
        web_url("优化词条",
                "URL=http://d3m2.zhongsou.com/Keyword/ylogs?kid={ID}&action=seo",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://d3m2.zhongsou.com/Keyword/seo",
                "Snapshot=t4.inf",
                "Mode=HTML",
                EXTRARES,               
                LAST);
这个函数的返回没有预期值吧,因为你ID参数化了之后,会不会有部分ID是登录不了的。
作者: fbccee    时间: 2013-1-5 17:57
可能是
        web_url("优化词条",
                "URL=http://d3m2.zhongsou.com/Keyword/ylogs?kid={ID}&action=seo",
                "TargetFrame=",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://d3m2.zhongsou.com/Keyword/seo",
                "Snapshot=t4.inf",
                "Mode=HTML",
                EXTRARES,               
                LAST);
这个函数的返回没有预期值吧,因为你ID参数化了之后,会不会有部分ID是登录不了的。
作者: liucongying    时间: 2013-1-8 13:41
回复 1# wxa1

蛮想帮你搞定的。。。但是条件不允许,好久不用lr了,手有点痒了,
你这脚本才这点参数,手动关联吧,以前一般脚本手动做关联都做了将近60,70个。。。自己手动关联会学到很多东西,ord是参数的个数,ALL的话,就是拿所有的,参数变成数组了。

你自己回放5次,都不能保证每次都成功,WCSParam45取不到,说明
1. 自动关联做的有问题,去回放出错的log里 一步步的看snapshot和log,倒推,是之前的步骤就错了,还是自动关联选择的左右边界不合理,导致不是每次replay都能取得合适的值,找到root cause。
2. 你自己也发现了 随后的一个autodata页面提交数据的时候那个MD5应该没有被更新
  web_url("index") 这里 的 {ID}和 {word} 参数化正确吗, 那个 columns= %E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81" 需要被参数化吗?
3. web_custom_request 这种代码,我的经验,有些时候是可以去掉的。。。具体看情况而定
作者: liucongying    时间: 2013-1-8 13:42
回复 1# wxa1

蛮想帮你搞定的。。。但是条件不允许,好久不用lr了,手有点痒了,
你这脚本才这点参数,手动关联吧,以前一般脚本手动做关联都做了将近60,70个。。。自己手动关联会学到很多东西,ord是参数的个数,ALL的话,就是拿所有的,参数变成数组了。

你自己回放5次,都不能保证每次都成功,WCSParam45取不到,说明
1. 自动关联做的有问题,去回放出错的log里 一步步的看snapshot和log,倒推,是之前的步骤就错了,还是自动关联选择的左右边界不合理,导致不是每次replay都能取得合适的值,找到root cause。
2. 你自己也发现了 随后的一个autodata页面提交数据的时候那个MD5应该没有被更新
  web_url("index") 这里 的 {ID}和 {word} 参数化正确吗, 那个 columns= %E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81" 需要被参数化吗?
3. web_custom_request 这种代码,我的经验,有些时候是可以去掉的。。。具体看情况而定
作者: 测试新手小白    时间: 2013-1-9 15:05
飘过
作者: 牛毒不识字    时间: 2014-4-13 11:12
陈年老贴,就是路过看瞃




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