51Testing软件测试论坛
标题:
LR中关于关联和参数化的一点问题求解
[打印本页]
作者:
xiongxixin
时间:
2012-5-9 17:56
标题:
LR中关于关联和参数化的一点问题求解
在进行关联后,设置参数化,
编译时提示:错误 -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;
再次谢谢各位大大们~
作者:
jj_ljw
时间:
2012-5-9 19:31
web_reg_save_param是关联服务器返回值用的,必须放在返回值的代码前面。现在userSession根本取不到值,那也没法运行了
作者:
hclovezz1314
时间:
2012-5-10 10:02
1.关联的userSession,这个是关联不是参数化,设置好web_reg_save_param("userSession","LB="Name=userSession", "Value=","RB=>",LAST);
这样就可以了。
2.关联就是关联,没事把这个东西参数化干嘛,难道你还能知道他每次变换产生的那些乱七八糟的东西。。。。
3.web_set_max_html_param_len放个1024上去就可以了
作者:
zhoward
时间:
2012-5-10 10:15
这个是要做关联才对
作者:
xiongxixin
时间:
2012-5-10 10:36
回复
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).
请问下这个是什么原因呢~谢谢了~
作者:
xiongxixin
时间:
2012-5-10 10:38
回复
4#
zhoward
我就是做了关联,初次接触关联,昨天百度文库里找了个关联的教程看了看,说是要对关联的做参数化,我就做了T.T,结果就报错了,现在去掉参数化之后再次编译时报错提示参数无效~~
作者:
ymwang119
时间:
2012-5-10 10:42
把修改后的代码贴出来
作者:
xiongxixin
时间:
2012-5-10 10:49
回复
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;
}
作者:
zhoward
时间:
2012-5-10 11:39
参数化的意思是要把你所做的关联userSession值用{userSession}参数化......另外,你设置了集合点,那思考时间应当要放在集合点外,不然你这算出来的事务时间就差太多了。
作者:
li373935562
时间:
2012-5-10 15:44
你的情况一般三种可能:
1. 服务器挂掉了。你先手工操作一下看看是不是服务器真的挂掉了。
2.你的关联左右边界出了错误。到Response中查看一下是不是左右边界搞错了。
3. 你关联的数据太长超过了默认可以关联的最大长度。可以通过web_set_max_html_param_len函数设置关联数据的最大长度,不过这个可能性在你现在的脚本中不存在。
作者:
ymwang119
时间:
2012-5-10 16:21
本帖最后由 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;
}
作者:
guchenggao
时间:
2012-5-10 16:28
11# 有的特殊字符要转义,需要注意一下
作者:
bob123654
时间:
2012-5-11 09:07
回复
1#
xiongxixin
关联的左右边界错了,你关联的userSession值取到的实际值和你预期的值不一样的,所以你向服务器发送请求的时候,服务器没办法相应你的请求的
作者:
hongchongren
时间:
2012-5-14 15:19
别那么长的左边界,就value=就OK了,然后看看在log里是第几个"value=".
作者:
hongchongren
时间:
2012-5-14 15:20
别那么长的左边界,就value=就OK了,然后看看在log里是第几个"value=".
作者:
joykao
时间:
2012-5-21 14:55
关联错了哦。。。
作者:
ymwang119
时间:
2012-5-21 15:04
回复
12#
guchenggao
多谢提示,已改正
作者:
Donly
时间:
2012-5-21 17:26
我怎么觉得楼主不应该用关联,而是应该用参数化。。。
作者:
花儿开在春风里
时间:
2012-5-23 16:48
userSession应该是关联
作者:
qvbfnsc
时间:
2012-5-23 18:51
web_reg_save_param("userSession","LB=input type=hidden name=userSession value=","RB=>",LAST);
这个应该放在前一个请求前,不应放在你要提交的这个数据(服务返回的关联数据)请求前;
做关联,取和用是在不同的语句,你现在这样写就是取和用在同一个请求,肯定是不对的,估计你漏了一个页面请求(可能就是你打开网站的登陆Logo页面)
作者:
ldf326
时间:
2012-5-24 11:15
回复
17#
ymwang119
关联的地方
vuser_init()
{
web_reg_save_param("userSession",
"LB=value=",
"RB=>\n",
LAST);
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
return 0;
}
作者:
ymwang119
时间:
2012-5-24 15:24
关联的位置确实有问题
作者:
笑痴情
时间:
2013-1-17 12:47
楼主!解决了吗?我遇到的问题和你一样的!
作者:
笑痴情
时间:
2013-1-17 14:55
web_reg_save_param("userSession","LB=userSession value=","RB>",LAST);
用这个当关联函数就可以。
作者:
hooghoog
时间:
2015-6-13 10:18
自身返回结果,自身调用
作者:
a_hua
时间:
2015-10-28 17:47
问题解决了吗?如何解决,我也遇到同样的问题
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2