• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Loadrunner关联(三)手动关联

发布: 2009-7-14 17:44 | 作者: 不详 | 来源: 中国IT实验室网 | 查看: 294次 | 进入软件测试论坛讨论

领测软件测试网

Loadrunner关联(三)手动关联

手动关联的过程大致如下:

        第一步:录制测试脚本,录制二遍

        第二步:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联

        第三步:确定插入关联的位置
        第四步:在VIEW TREE中使用web_reg_save_param函数手动建立关联
        第五步:将脚本中有用到关联的数据,用参数代替

        第六步:验证关联的正确性

        下面详细介绍:

        第一步:

        录制测试脚本,录制二遍

        这一步就不用多说了,相同的操作,录制两份,分别保存

        第二步:

        使用WinDiff工具协助找出需要关联的数据
        1. 在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份脚本。
        2. 接着WinDiff会开启,同时显示二份脚本,并显示有差异的地方。WinDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。

        查看二份脚本中差异的部份,每一个差异都可能是需要做关联的地方。

        注意:lr_thik_time部分的差异可以忽略

        找到不同的部分后,复制,然后打开Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息

        如果出现在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$这个部分,那证明是客户端发出的请求,这里是不需要做关联的

        一般做的关联都是出现在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。

        在找到这个信息后,需要记录如下信息:

        a.记录这个不同数据之前的内容和之后的内容

        b.记录这个不同数据出现的位置,是Header还是Body

        第三步:

        确认插入关联的位置

        我们在日志中找到了两次脚本的不同点的位置,根据这个位置,我们再确定是在哪个请求之后产生的,也就是说要定位发生不同点的response是由哪个request产生的,找到了这个请求的函数位置,我们就知道要往哪里做关联了

        一般情况下关联函数写到发出请求的函数之前就可以了

        第四步:

        插入关联函数

        在插入关联函数前,我们先介绍关联函数web_reg_save_param

          一个web_reg_save_param函数的例子:

         web_reg_save_param ("sessionid",

              "LB=Session_id:",

              "RB=;",

              "Search=Body",

              LAST);

        在这里我们只介绍几个常用参数的含义

        语法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

 

参数说明:

        ParamName: 存放得到的动态内容的参数名称

        list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写

        LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。

        RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。

        Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。

        那么如何插入该关联函数呢?

        1.将vugun切换到 view tree 模式下

        2.在左边的列表中,找到在上一步发出请求的函数,点击“右键”

        选择“insert before”

        3.在弹出的“add step”对话框的“find function”中输入“web_reg_save_param”,点击“ok”

        在“parameter name”中输入,关联函数的名称,这里最好有含义,“sessionid”

        在“left boundary”中输入,刚才记录下的不同点字符串的左面的几个字符,定义左边界,Session_id:

        在“right boundary”中输入,刚才记录下的不同点字符串的右面的几个字符,定义右边界,;

        在“search in ”中,选择“body”

        点击“ok”

        4.回到脚本编辑模式下,查看该函数插入是否正确

        在发出请求的函数前应该看到:

         web_reg_save_param ("sessionid",

              "LB=Session_id:",

              "RB=;",

              "Search=Body",

              LAST);

        第五步:

        将脚本中有用到关联的数据,用参数代替

        如发出请求的参数如下,那么将原来服务器返回的动态值使用{ sessionid } 来替换:

           web_submit_form("login.php_2",

              "Snapshot=t2.inf",

              ITEMDATA,

              "Name=login", "Value=wangjin", ENDITEM,

              "Name=password", "Value=wangjin", ENDITEM,

                "Name=Session_id","Value={ sessionid } ", ENDITEM,

              "Name=Submit", "Value=Login", ENDITEM,

              EXTRARES,

              "URL=/media/images/border_bg_l.gif", ENDITEM,

              "URL=/media/images/header_bg.gif", ENDITEM,

              "URL=/media/images/th.gif", ENDITEM,

              LAST);

        第六步:

        验证关联的正确性

        回放脚本,验证关联的正确性

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: loadrunner LoadRunner Loadrunner loadRunner


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网