zoukankan      html  css  js  c++  java
  • loadrunner怎样进行手动关联

    转自:http://novasblog.blog.163.com/blog/static/43713514200901341934981/

    手动关联的主要步骤为:
            第一步:录制测试脚本,录制二遍

            第二步:使用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,(一般情况录制脚本时选择Single Protocol单协议在Recording Log里找,录制脚本时选择Multiple Protocol协议,在Generation Log里找)按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息。也可以将脚本的视图方式换到树形方式,如下图,在Server Response里找。

    手动关联如何操作 - novasblog - Novas Blog

           

            如果出现在$$$$$$ 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 Header For Transaction With Id 7 ******”这们的日志部分,则是“Search ”参数的范围可设置为“Headers”,如果出现在如“****** Response Body For Transaction With Id 7 ******”这们的日志部分,则是“Search ”参数的范围可设置为“Body”)

            第三步:

            确认插入关联的位置

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

            一般情况下关联函数写到发出请求的函数之前,服务器已经回应的要进行关联的数据脚本之后,在发出请求之前进行关联操作(调用web_reg_save_param函数中存放得到的动态内容的参数名称)(在发出请求之前就要将有变化的地方进行参数化,所以要放在发出请求之前,)

            第四步:

            插入关联函数

            在插入关联函数前,我们先介绍关联函数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);
     
            第六步:
            验证关联的正确性
            回放脚本,验证关联的正确性

    ps:loadrunner自带订票系统自动关联扫描没结果,可以用另一种方式来关联

    找到session右键鼠标create correlation,在回到脚本视图,代码就自动加好了:

  • 相关阅读:
    php
    php
    linux 网络管理基础 OSI ISO IOS的区别
    Linux 添加交换分区的步骤
    linux 命令
    linux命令
    linux 命令
    linux 命令
    Linux命令
    linux命令- 挂载命令 mount
  • 原文地址:https://www.cnblogs.com/wxh04/p/7724558.html
Copyright © 2011-2022 走看看