这个录制的web脚本不太好关联那位帮忙看看,谢谢了
下面是我录制的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);
我个人任务需要关联的地方是红字的部分,如果不对请大家多多指点。 在线等待,急切盼望能够尽快解决这个困扰我很久的问题,:-)
回复 2# 的帖子
你可以录制两份相同的脚本,用WDIFF比较一下,看哪些是服务器动态返回的数据,看需不需要进行关联 谢谢tinafrog的回复!我录制的这个脚本有点特殊,别的系统在录制后在脚本中很容易就能够找到lr录制的用户名和密码的地方,我录制的脚本根本没有,我根据sql一句一句的找最终圈定到以上的代码范围,但是无论真没参数化在运行时都不正确,我也比对过录制的代码,在登陆处基本是一直的,我现在就是想让脚本在进行压力测试时能够更真实的模拟不同的用户登陆操作,现在没有办法找到具体哪部分是需要参数化的用户名和密码
[ 本帖最后由 b123 于 2008-9-2 15:38 编辑 ] 1.这是使用Http协议录制下来的内容么,为什么有那么多2进制的内容。。。。
2.你仅仅告诉我们你可能要抓什么并没有告诉我们在哪里抓,谁能帮你
你需要确定你所关联的内容是服务器在什么时候发给你的,其次发给你的内容你需要的是什么边界组成的。。 这个程序用了中间件了吧? 谢谢大家的回复,我录制的这个程序是在一个平台上开发的,录制的方式就是以http方式录制的,很郁闷的是脚本都是二进制吗,根本看不懂,以上录制的代码是服务器在进行用户登陆时录制的,因为在录制脚本中根本没有用户登陆的信息只录制了一些二进制码和sql,所以我就对每个sql语句进行了执行,发现只有“select FVALUE from TORGATTRIBUTE where FGUID = ? and FID = 'PASSWORD'”这个语句查到的FVALUE值是用户密码值,而 “F6267C3AACA64092B92E68DF45A14F61”这个FGUID在人员表中对应的是我登陆时的用户,所以我分析如果进行模拟多用户登陆需要进行参数化的就是这两块,但是每次参数化后运行都报错,一个奇怪的现象是FGUID = ? 中?我不知道是怎么录制的,我感觉?处的内容应当就是“F6267C3AACA64092B92E68DF45A14F61”,但是将该值拷贝到?处运行系统报错,呵呵,我不知道我说清楚没有 说清楚了 也听明白了 可我不会 呵呵 你找个httpwatch截下包,看看内容,发送的,和接收到的.
如果还是二进制估计没插件你搞不定的了.
不过也说不定是因为加密传输的缘故. 我的建议:
1.用同一个用户名和密码录制2次相同操作,比较脚本,记录不同点
2.用2个不同用户名和相同密码录制2次相同操作,比较脚本,记录不同点
接下来的差不多就能分析出这个用户名和密码到底是脚本中间的哪段字符,接下来的事情就再说了.:lol :handshake :handshake :handshake 谢谢热心的朋友们,我尝试比对了基本上当使用不同用户录制登陆操作时只有F6267C3AACA64092B92E68DF45A14F61值不一样,我现在都无语了,还有我想问问gseraph如果使用插件我应该使用什么插件啊
页:
[1]