51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3462|回复: 5
打印 上一主题 下一主题

lr脚本问题求助!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-11-3 13:05:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
录制了一段web页面的脚本,其中有个地方有sessionid,每次都是不一样得,随机变化的,故采用动态关联。
脚本如下:



#include "as_web.h"


Action1()
{
web_url("epare",
"URL=http://flight.airchina.com.cn/epare",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);

web_image("login.gif;JSESSIONID_epare=BHOOIZopATihFKbwva79G1Oy5UBLKQkGqLYzROhPQ9A8g7bplSkc!-1584612414",
"Src=/epare/framework/skins/blueinfinity/images/login.gif;JSESSIONID_epare=BHOOIZopATihFKbwva79G1Oy5UBLKQkGqLYzROhPQ9A8g7bplSkc!-1584612414",
"Snapshot=t2.inf",
LAST);

return 0;
}


加入函数web_reg_save_param
其中:
LB=JSESSIONID_epare=;
RB=;
这样会出错,不知道这两个参数应该怎么取值。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-11-3 15:28:07 | 只看该作者
关注!比如这么一句脚本,
"Name=lt", "Value=LT-575-RCwdfPd0YZgKfxPndFUA", ENDITEM,
关联后变成:
        web_reg_save_param( "WCSParam_Diff1", "LB= value=\"", "RB=\"", "Ord=2", "Search=Body", "RelFrameId=1", LAST );
.
.
.
.
        "Name=lt", "Value={WCSParam_Diff1}", ENDITEM,
RB和LB后面怎么会出现下划线和2个双引号?删掉一个双引号和下划线,编译没有问题,但回放就有问题了:Error -27282: Ordinal must be 1 when the left and/or right boundaries are empty          [MsgId: MERR-27282]
这是为什么?

[ Last edited by wghong on 2004-11-3 at 15:48 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2004-11-3 15:52:09 | 只看该作者
在关联的高级设置里面\和“都是分隔符。楼主加上\"后应该不会出错了吧,但有人能解释一下为什么吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-11-3 20:04:39 | 只看该作者
奇怪了,关联设置成功了,在generator中run能通过,不会有错,
但是使用controller添加虚拟用户后,还是会出现错误,
跟开始没有设置关联时相同的错误。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-11-4 14:11:48 | 只看该作者
你试试这样看看,lb=value=,rb=\"".
Value=  LT-575-RCwdfPd0YZgKfxPndFUA     "

web_reg_save_param( "WCSParam_Diff1", "LB= value=", "RB=\"", "Ord=2", "Search=Body", "RelFrameId=1", LAST );

如果rb为空的话,默认是到这行结束。

[ Last edited by suliang on 2004-11-4 at 14:20 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-11-5 11:00:26 | 只看该作者
明白楼主开始的错误了,在html脚本里面 =号的赋值语句都是当作字符处理,一般都是有引号的,也就是:a=”.....“。虽然在编写程序的时候也可以不把引号加上。
LB= value=\",\是转义字符,表示左边界为 value=“          ,同时右边界也必须有引号,正如楼上所说的,rb为空的话,是表示到达这行的结束。。另外,我想提问一点关于关联的运行机制的问题,比如下面的程序:
web_reg_save_param( "WCSParam_Diff1", "LB= value=\"", "RB=\"", "Ord=2", "Search=Body", "RelFrameId=1", LAST );

web_reg_save_param( "WCSParam_Diff2", "LB=ticket=", "RB=\"", "Ord=2", "Search=Body", "RelFrameId=1", LAST );
......
"Name=lt", "Value={WCSParam_Diff1}", ENDITEM,
.........
"URL=http://192.168.0.3/docexchange/webforms/index.jsp?ticket={WCSParam_Diff2}",
由于在编写程序时,由于value=的赋值语句可以不在=号后面加引号,所以可以改为:
web_reg_save_param( "WCSParam_Diff1", "LB= value=", "RB=\"", "Ord=2", "Search=Body", "RelFrameId=1", LAST );左边界是没有引号的。这样编译没有错误,但是回放时却提示:
Error -26377: No match found for the requested parameter "WCSParam_Diff2". 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          。
修改了WCSParam_Diff1,却引起了WCSParam_Diff2的错误。这让我想清楚关联内在规则:是不是WCSParam_Diff1存下了一定的值,却用在了WCSParam_Diff2上?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 20:13 , Processed in 0.073547 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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