51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1918|回复: 10
打印 上一主题 下一主题

[原创] 这个录制的web脚本不太好关联那位帮忙看看,谢谢了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-2 14:58:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是我录制的web协议的脚本,我要做的是在用户登陆处进行参数化,下面录制登陆操作的部分脚本,在脚本中我做了很多次的关联,每次关联后运行系统都提示error-26612: http status-code=500的错误,如果不关联运行就没有这个问题,下面我把我认为是登陆信息的部分脚本贴出来,大家帮忙看看,谢谢了
lr_start_transaction("登陆");

        web_custom_request("bizserver_10",
                "URL=http://192.168.1.106:7001/x3/bizserver",
                "Method=POST",
                "Resource=0",
                "Referer=",
                "Mode=HTTP",
                "EncType=",
                "BodyBinary=z"
                "\\x01\\x00\\x0C"
                "c"
                "\\x01\\x00"
                "m"
                "\\x00\\x07"
                "executeMt"
                "\\x00"
                "3com.justep.service.action.database.GetRecordsActionS"
                "\\x00\\x08"
                "userInfoNS"
                "\\x00\\x07"
                "transIDNS"
                "\\x00\\x10"
                "connectionStringMt"
                "\\x00"
                "&com.justep.connection.ConnectionStringS"
                "\\x00\\x06"
                "bizurlS"
                "\\x00\\x1B"
                "Biz:"
                "\\x5C"
                "SYSTEM"
                "\\x5C"
                "SYSTEM.DatabaseS"
                "\\x00\\x08"
                "databaseNzS"
                "\\x00\\x0B"
                "commandTextS"
                "\\x00"
                "Eselect FVALUE from TORGATTRIBUTE where FGUID = ? and FID = 'PASSWORD'S"                "\\x00\\x06"
                "paramsVt"
                "\\x00\\x07"
                "[objectl"
                "\\x00\\x00\\x00\\x01"
                "Mt"
                "\\x00"
                " com.justep.service.info.SQLParamS"
                "\\x00\\x08"
                "userInfoNS"
                "\\x00\\x07"
                "transIDNS"
                "\\x00\\x04"
                "nameS"
                "\\x00\\x01"
                "AS"
                "\\x00\\x05"
                "valueS"
                "\\x00"
                " F6267C3AACA64092B92E68DF45A14F61S"                "\\x00\\x07"
                "sqlTypeS"
                "\\x00\\x06"
                "stringS"
                "\\x00"
                "\tparamTypeS"
                "\\x00"
                "\tptUnknownS"
                "\\x00\\x08"
                "dataTypeS"
                "\\x00\\x08"
                "ftStringzzS"
                "\\x00\\x0B"
                "dataSetKindI"
                "\\x00\\x00\\x00\\x00"
                "S"
                "\\x00\\x08"
                "positionI"
                "\\x00\\x00\\x00\\x00"
                "S"
                "\\x00\\x05"
                "countI"
                "\\xFF\\xFF\\xFF\\xFF"
                "S"
                "\\x00"
                "\n"
                "resultTypeI"
                "\\x00\\x00\\x00\\x01"
                "S"
                "\\x00\\x14"
                "returnUnicodeColumnsNzz",
                LAST);
我个人任务需要关联的地方是红字的部分,如果不对请大家多多指点。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-9-2 15:00:20 | 只看该作者
在线等待,急切盼望能够尽快解决这个困扰我很久的问题,:-)
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-2 15:19:05 | 只看该作者

回复 2# 的帖子

你可以录制两份相同的脚本,用WDIFF比较一下,看哪些是服务器动态返回的数据,看需不需要进行关联
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-9-2 15:36:29 | 只看该作者
谢谢tinafrog的回复!
我录制的这个脚本有点特殊,别的系统在录制后在脚本中很容易就能够找到lr录制的用户名和密码的地方,我录制的脚本根本没有,我根据sql一句一句的找最终圈定到以上的代码范围,但是无论真没参数化在运行时都不正确,我也比对过录制的代码,在登陆处基本是一直的,我现在就是想让脚本在进行压力测试时能够更真实的模拟不同的用户登陆操作,现在没有办法找到具体哪部分是需要参数化的用户名和密码


[ 本帖最后由 b123 于 2008-9-2 15:38 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-2 16:19:38 | 只看该作者
1.这是使用Http协议录制下来的内容么,为什么有那么多2进制的内容。。。。
2.你仅仅告诉我们你可能要抓什么并没有告诉我们在哪里抓,谁能帮你
你需要确定你所关联的内容是服务器在什么时候发给你的,其次发给你的内容你需要的是什么边界组成的。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-2 16:50:18 | 只看该作者
这个程序用了中间件了吧?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-9-3 09:04:28 | 只看该作者
谢谢大家的回复,我录制的这个程序是在一个平台上开发的,录制的方式就是以http方式录制的,很郁闷的是脚本都是二进制吗,根本看不懂,以上录制的代码是服务器在进行用户登陆时录制的,因为在录制脚本中根本没有用户登陆的信息只录制了一些二进制码和sql,所以我就对每个sql语句进行了执行,发现只有“select FVALUE from TORGATTRIBUTE where FGUID = ? and FID = 'PASSWORD'”这个语句查到的FVALUE值是用户密码值,而 “F6267C3AACA64092B92E68DF45A14F61”这个FGUID在人员表中对应的是我登陆时的用户,所以我分析如果进行模拟多用户登陆需要进行参数化的就是这两块,但是每次参数化后运行都报错,一个奇怪的现象是FGUID = ? 中?我不知道是怎么录制的,我感觉?处的内容应当就是“F6267C3AACA64092B92E68DF45A14F61”,但是将该值拷贝到?处运行系统报错,呵呵,我不知道我说清楚没有
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-9-3 09:07:50 | 只看该作者
说清楚了 也听明白了 可我不会 呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-9-3 09:37:58 | 只看该作者
你找个httpwatch截下包,看看内容,发送的,和接收到的.
如果还是二进制估计没插件你搞不定的了.
不过也说不定是因为加密传输的缘故.
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-9-3 11:16:32 | 只看该作者
我的建议:
1.用同一个用户名和密码录制2次相同操作,比较脚本,记录不同点
2.用2个不同用户名和相同密码录制2次相同操作,比较脚本,记录不同点
接下来的差不多就能分析出这个用户名和密码到底是脚本中间的哪段字符,接下来的事情就再说了.
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-9-3 14:53:08 | 只看该作者
谢谢热心的朋友们,我尝试比对了基本上当使用不同用户录制登陆操作时只有F6267C3AACA64092B92E68DF45A14F61值不一样,我现在都无语了,还有我想问问gseraph如果使用插件我应该使用什么插件啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-20 17:17 , Processed in 0.079182 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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