51Testing软件测试论坛

标题: 关于loadrunner9.5的关联问题 [打印本页]

作者: sunday1019    时间: 2011-7-27 13:15
标题: 关于loadrunner9.5的关联问题
我在网上看到关于loadrunner关联的帖子,上面都是说要在execution log中找到需要关联的字符的左右边界,可是,在新版本中,只有replay log,怎么样才能找到需要关联的字符及其边界呢?求大神帮忙,小弟新手···
作者: yandaju    时间: 2011-7-28 10:30
在Generation Log中找

有如下格式内容的日志:
****** Request Header For Transaction With Id 6 ******
GET /examadmin HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Host: dggtsv020-ap.huawei.com:9083
Connection: Keep-Alive


$$$$$$ Request Header For Transaction With Id 6 Ended $$$$$$

****** Response Header For Transaction With Id 6 ******
HTTP/1.1 302 Found
Location: http://dggtsv020-ap.huawei.com:9083/examadmin/
Content-Language: zh-CN
Content-Length: 0
Date: Tue, 12 Jul 2011 09:13:10 GMT
Server: WebSphere Application Server/6.1


$$$$$$ Response Header For Transaction With Id 6 Ended $$$$$$
作者: yandaju    时间: 2011-7-28 10:42
例如要对RegId进行关联:
UserMode=0&ActivityID=22206&RegId=33048&RootActID=22206&EventID=22206&DisplayMode=1",

可在Generation Log中查找33048第一次出现的位置;
若是在Response中那就可能需要关联,若在Request中就需要参数化;
例如找到的内容如下:
onclick="LMS_Learner_Launch(22206, 33048, null, -101, null, 22206, 0);" >
那么可选取【 LMS_Learner_Launch(22206, 】为左边界,【,】为右边界,尽量不要包含特殊字符,如【“】;
然后打开所有日志回放脚本,在replay log中查找左边界第一次出现的位置,点击日志内容光标定位到脚本的位置就是关联函数放置的位置;例如
        web_reg_save_param("regid",
                "LB=LMS_Learner_Launch(22206,",
                "RB=,",
                "NotFound=WARNING",
                LAST);
再次回放查看是否关联成功。
作者: sunday1019    时间: 2011-7-28 11:05
回复 3# yandaju


    你好,首先感谢你的解答,我按照你的方法,在generation log中找到的第一个需要关联的就是account=wmxh&password=123456&txtReg=62042


跟你的第一句类似UserMode=0&ActivityID=22206&RegId=33048&RootActID=22206&EventID=22206&DisplayMode=1",


怎么找不到你说的onclick="LMS_Learner_Launch(22206, 33048, null, -101, null, 22206, 0);" >
这种形式的脚本
作者: yandaju    时间: 2011-7-29 08:51
account=wmxh&password=123456&txtReg=62042
这个是generation log的内容还是脚本的内容?若是日志内容那么左边界就可选取【account=wmxh&password=123456&txtReg=】,左右边界是在日志里面找的。

onclick="LMS_Learner_Launch(22206, 33048, null, -101, null, 22206, 0);" >是我的脚本日志,脚本不一样日志也就不一样,这个只是个例子,为说明如何找左右边界。

UserMode=0&ActivityID=22206&RegId=33048&RootActID=22206&EventID=22206&DisplayMode=1",是我的脚本内容。
作者: sunday1019    时间: 2011-7-29 10:05
回复 5# yandaju


  你好,再次感谢你的回答
  account=wmxh&password=123456&txtReg=62042
这个是generation log 内容,按照你的方法,还是报错了,报错信息为
Action.c(21): Error -26377: No match found for the requested parameter "LB=account=wmxh&password=123456&txtReg=". 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: MERR-26377]
Action.c(21): web_submit_form("Login.aspx") highest severity level was "ERROR", 48096 body bytes, 2711 header bytes          [MsgId: MMSG-26388]


我的62042是验证码的内容,整个录制也就这一个地方需要关联
脚本内容是:web_submit_form("Login.aspx",
                "Snapshot=t2.inf",
                ITEMDATA,
                "Name=account", "Value=wmxh", ENDITEM,
                "Name=password", "Value=123456", ENDITEM,
                "Name=txtReg", "Value=62042", ENDITEM,
                "Name=btnLogin.x", "Value=0", ENDITEM,
                "Name=btnLogin.y", "Value=0", ENDITEM,

麻烦大神再指点指点,这个关联的问题,我都纠结了一个礼拜了,哎!
作者: sunday1019    时间: 2011-7-29 10:54
回复 5# yandaju


    我忘了加parameter name了,可是加上后还是报错的


我快疯了!!!!!!!!!
作者: yandaju    时间: 2011-7-29 14:10
account=wmxh&password=123456&txtReg=62042确认下这段日志内容是不是在Request中,象以下这样的内容中:
****** Request Header For Transaction With Id 11 ******
...
...
...
$$$$$$ Request Header For Transaction With Id 11 Ended $$$$$$

需要关联的必须第一次出现是在Response里,象以下这样的内容中

****** Response Header For Transaction With Id 11 ******
。。。
$$$$$$ Response Header For Transaction With Id 11 Ended $$$$$$

****** Response Body For Transaction With Id 11 ******
。。。
$$$$$$ Response Body For Transaction With Id 11 Ended $$$$$$

若第一次出现是在reuest中是不能关联的,可能要参数化。
作者: yandaju    时间: 2011-7-29 14:11
你怎么不早说是验证码呢?
作者: yandaju    时间: 2011-7-29 14:16
验证码是服务器产生的,每次都不一样,看似符合关联的条件。但是验证码是比较特殊的。为了考虑安全性,验证码在服务器端以图片的形式生成,服务器反馈给客户端的只有图片信息不会有具体内容的,所以在客户端是关联不到的。验证码在填写时必须靠肉眼去识别,是不能做关联的。必须由开发人员将其屏蔽掉再做压力测试。
作者: yandaju    时间: 2011-7-29 14:18
回复 7# sunday1019


    压力测试有时是做起来比较纠结,往往一个小问题就是拦路虎。但只要有耐心,问题都是能解决的。
作者: magee    时间: 2011-7-30 10:44
验证码是不能做关联的! 找开发屏蔽 ,或者万能验证码!
作者: joykao    时间: 2011-8-1 10:49
关联纠结啊。。。验证码需要屏蔽哇
作者: zhang.yuandong    时间: 2011-8-1 11:54
恩 学习了
作者: joykao    时间: 2011-8-2 10:28
在treeview里面可以找到,服务器端响应的数据,视图里可以有上下对比显示的,你可以查看对比,不一样的数据就是需要关联的哇,至于验证码的问题那就不是关联的问题了撒
作者: sunday1019    时间: 2011-8-2 11:41
回复 11# yandaju


    谢谢你啊,原来是这样的问题,害的我纠结了一个礼拜,都准备放弃了,受益匪浅啊!
再次感谢!
作者: sunday1019    时间: 2011-8-2 13:23
回复 11# yandaju


    弱弱的问一句,验证码不能做关联,我就不知道什么样的情况下需要用到关联了,帮忙解答下!
作者: yandaju    时间: 2011-8-2 22:37
回复 17# sunday1019


    用户每次访问网站时服务器端动态生成的数据,反馈给客户端,用户拿着这个数据去访问一些页面,就像拿个令牌一样。每次loginsession中该数据都不一样,例如一些加密串、sessionid等。可以通过询问开发人员获得,一般的做法是用不同的用户相同的业务操作录制两份脚本,再使用对比工具进行对比,查找不一样的地方,可能就是需要关联的。关于关联,网上应该有好多资料。找个需要关联的压力项目做做就知道怎么回事了。这也是个人的一些理解,共同学习哈。呵呵
作者: daijianfeng    时间: 2011-8-3 08:36
回复 18# yandaju
那么假的验证码,也就是数字随机生成,数字后面只是背景,而不是图片的验证码,可以关联吗?
作者: yandaju    时间: 2011-8-3 10:16
回复 19# daijianfeng


    呵呵,可以。但这样的验证码失去了验证码的意义。
作者: daijianfeng    时间: 2011-8-3 10:24
回复 20# yandaju
那这样就是可以关联了?
作者: wsbuaa    时间: 2011-8-3 14:24
回复 19# daijianfeng
那种东西根本就不能叫验证码,验证码就是图片
验证码开始是论坛为了对付刷屏而产生的
防的就是机器工具,而LR说白了与那些东西异曲同工
作者: sunday1019    时间: 2011-8-3 16:37
回复 20# yandaju


    恩,感谢你这些天的解答。今后遇到不懂的还向你请教,努力向你学习!谢谢
作者: yandaju    时间: 2011-8-3 18:18
回复 23# sunday1019


    呵呵,共同学习!
作者: chenxiebai    时间: 2011-8-4 15:38
叫开发人员发干掉测试版的验证码




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2