51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 14586|回复: 40
打印 上一主题 下一主题

[求助] 急疯了,LR手动关联后,jsessionid={jsessionid}未取到关联的值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-7-9 20:18:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个问题一直困惑我很久,今天又碰到了,看到很多朋友也遇到相同的问题,发此贴,希望高手能够解决!
背景:
单点登录时获取jsessionid,在登录之前,action()里进行手动关联:
关联的代码:
        web_reg_save_param("jsessionid",
                "LB/IC=jsessionid=",
                "RB/IC=\"",
                "Ord=1",
                "NotFound=WARNING",
                "Search=Body",
                LAST);
        web_reg_save_param("lt",
                "LB/IC=<input type=\"hidden\" name=\"\lt\" value=\"",
                                 "RB/IC=\"/>",
                "Ord=1",
                "NotFound=WARNING",
                "Search=Body",LAST);


        web_url("check_cert_status.jsp", --打开此页面会获取到jsessionid

在登录动作中的关联:
login()
{        web_submit_data("login;jsessionid={jsessionid}",
                "Action=http://192.168.1.18:9001/cas_61/login;jsessionid={jsessionid}",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.1.18:9001/cas_61/login",
                "Snapshot=t3.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=username", "Value=12303013070043", ENDITEM,
                "Name=password", "Value=1234", ENDITEM,
                "Name=lt", "Value={lt}", ENDITEM,
                "Name=_eventId", "Value=submit", ENDITEM,
                "Name=submit", "Value=登录", ENDITEM,
                EXTRARES,
                "Url=images/menulist.gif", ENDITEM,
                "Url=images/book_next.png", ENDITEM,
                "Url=../favicon.ico", "Referer=", ENDITEM,
                LAST);
        return 0;}

回放时报错:
Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://192.168.1.18:9001/cas_61/login;jsessionid=qTx4Rb9CMWfn3MCYrwhwntp4Yb1Z3FdvcGVRGKZDQ8CnvFwLlg1W!79763331"          [MsgId: MERR-26612]
web_submit_data("login;jsessionid={jsessionid}") highest severity level was "ERROR", 5637 body bytes, 808 header bytes          [MsgId: MMSG-26388]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-7-10 09:45:41 | 只看该作者
日志不是已经关联到了么,出错应该是因为你这个数据给服务器服务器认为有问题导致的,而不是你关联的问题
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2013-7-10 10:21:03 | 只看该作者
谢谢云层
我也感觉关联取到了值,但是不知道怎样才可以正确赋值,传送到服务器中。
请指教,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2013-7-10 11:24:00 | 只看该作者
同有这样的疑惑,这个数据怎样才能正确取到呢?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2013-7-10 11:44:19 | 只看该作者
是的,看到好多帖子关于这个问题,但都没有解决的办法,期待云层等高手帮助!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2013-7-10 15:30:46 | 只看该作者
3个字,问开发
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2013-7-10 16:37:11 | 只看该作者
web_reg_save_param("jsessionid",
                "LB/IC=cas_61/login;jsessionid=",
                "RB/IC=\"",
                "Ord=1",
                "NotFound=WARNING",
                "Search=All",
                LAST);

        web_reg_save_param("lt",
                "LB/IC=<input type=\"hidden\" name=\"lt\"\r\n    value=\"",
                "RB/IC=\"",
                "Ord=1",
                "NotFound=WARNING",
                "Search=All",
                LAST);
        web_url("check_cert_status.jsp",
                "URL=http://192.168.3.18:9014/cas_61/check_cert_status.jsp",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=",
                "Snapshot=t2.inf",
                "Mode=HTML",
                EXTRARES,
                "Url=images/livecom_h_default_ngls_str.jpg", "Referer=http://192.168.3.18:9014/cas_61/login", ENDITEM,
                "Url=images/dot-h.gif", "Referer=http://192.168.3.18:9014/cas_61/login", ENDITEM,
                "Url=../favicon.ico", "Referer=", ENDITEM,
                LAST);
   lr_output_message("the jsessionid is: %s", lr_eval_string("{jsessionid}"));
  lr_output_message("the It is: %s", lr_eval_string("{It}"));

回放结果:Action.c(43): the jsessionid is: 6LR5RdXTKWNfFsvncykLy4txXMG6Lcthw68kLJMp5MTH5dSQv99C!79763331
Action.c(44): the It is: {It}
---
        web_submit_data("login;jsessionid={jsessionid}",
                "Action=http://192.168.3.18:9014/cas_61/login;jsessionid={jsessionid}",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.3.18:9014/cas_61/login",
                "Snapshot=t3.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=username", "Value=4403013070043", ENDITEM,
                "Name=password", "Value=Test1234", ENDITEM,
                "Name=lt", "Value={lt}", ENDITEM,
                "Name=_eventId", "Value=submit", ENDITEM,
                "Name=submit", "Value=登录", ENDITEM,
                EXTRARES,
                "Url=images/menulist.gif", ENDITEM,
                "Url=images/book_next.png", ENDITEM,
                "Url=../favicon.ico", "Referer=", ENDITEM,
                LAST);
    lr_output_message("the jsessionid is: %s", lr_eval_string("{jsessionid}"));
回放结果:lgoin.c(4): Error -26612: HTTP Status-Code=500 (Internal Server Error) for "http://192.168.3.18:9014/cas_61/login;jsessionid=6LR5RdXTKWNfFsvncykLy4txXMG6Lcthw68kLJMp5MTH5dSQv99C!79763331"          [MsgId: MERR-26612]
可见是{It}没有取到值导致登录失败,打开http://192.168.3.18:9014/cas_61/check_cert_status.jsp页面,查看源代码
<input type="hidden" name="lt" value="_cEA9E6218-B5B9-7379-8862-EB3ED0239B6F_kEE910C9A-FA7F-04A6-BDC1-7B52C41363E9" />
It的左右边界应该没放错,位置也应该在http://192.168.3.18:9014/cas_61/check_cert_status.jsp,如果是的话也应该没错。
那么,问题出在哪里呢?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2013-7-10 16:57:02 | 只看该作者
在回放的日志中有:
Action.c(31): Warning -26377: No match found for the requested parameter "lt". 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: MWAR-26377]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2013-7-10 17:15:56 | 只看该作者
你lt没数据,出错自然而然了
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2013-7-10 17:24:39 | 只看该作者
It变量和jsessionid在一各body中,现在关联和jsessionid的关联放同一各jsp前,位置应该没有错
另从页面的源代码中查看:
<input type="hidden" name="lt" value="_cEA9E6218-B5B9-7379-8862-EB3ED0239B6F_kEE910C9A-FA7F-04A6-BDC1-7B52C41363E9" />

        web_reg_save_param("lt",
                "LB/IC=<input type=\"hidden\" name=\"lt\"\r\n    value=\"",
                "RB/IC=\"",

                "Ord=1",
                "NotFound=WARNING",
                "Search=All",
                LAST);
错了吗?把"Search=All",改成"Search=body",也同样取不到
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2013-7-10 21:25:26 | 只看该作者
自己顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2013-7-10 23:04:20 | 只看该作者
[img][/img]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2013-7-10 23:04:38 | 只看该作者
顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2013-7-11 10:53:23 | 只看该作者
将关联函数  "LB/IC=<input type=\"hidden\" name=\"lt\"\r\n    value=\"", 的\r\n 删掉试试,从你10楼服务器返回的信息看,你的左边界设的不对。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2013-7-11 12:46:23 | 只看该作者
回复 14# shigui3615


去掉也仍然是报此错,

感谢你的回复
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2013-7-11 13:18:28 | 只看该作者
手动关联有时候是会出现一些奇怪的问题,自动关联试试
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2013-7-11 13:19:45 | 只看该作者
手动关联有时候是会出现一些奇怪的问题,我之前也出现一模一样的关联代码,一个是好的 ,一个就是报错;


你试试自动关联,看看行不行,行的话,再与你的手动关联脚本对比,看看手动关联脚本问题处在哪里
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2013-7-11 14:10:55 | 只看该作者
自动关联jsessionid的错,It系统没有捕获到自动关联,
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2013-7-12 01:03:03 | 只看该作者
回放的日志中有:
Action.c(31): Warning -26377: No match found for the requested parameter "lt". 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         

It返回的"Value"太长,默认无法存放到It变量中,请在关联函数web_reg_save_param之前加一句:web_set_max_html_param_len("1024"); 就不会报size错误了,这样It返回的值就能保存下来,希望能解决你的问题。
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2013-7-12 17:56:01 | 只看该作者
这根本没到1024这个长度
管理左右边界是不要取值的

你的那个jsessionid关联的值,能成功 跑通吗
能跑通,就要仔细查看下源码了,那个关联到值的左右边界,明显不在你贴的那句代码里面
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-7 05:32 , Processed in 0.085170 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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