LoadRunner手工关联

web_reg_save_param取服务器返回的值,关联服务器需要校验的值,不一定第动态的,有可能不变,根据服务器的算法决定

关联需要注意的项:找到服务器的动态的值;找到关联值得左右边界;关联所放置的位置。

有时候需要使用的数据是服务器动态产生的,但是录制的时候是固定的,此时也也可以用关联来处理。比如新增用例时TCID是服务器动态产生的,此时需要使用关联来获取这个TCID的值。具体步骤如下:

1、找到需要关联的地方,就是会使服务器产生动态数据的这个提交。设置手工关联必须在这个提交之前,这个位置必须设置正确,否则无法获取关联。比如下面的代码:
       
web_set_max_html_param_len ("9999"); --函数可以自定义关联返回值存放的参数的最大长度,默认是1024,如果不够需要增加
web_reg_save_param("tcid","LB=input name="yl_tcid" type="text" value="","RB="",LAST);  --设置关联,参数一为变量名,参数二为左边界,参数三为右边界
web_submit_data("TB_CeShiYLGL.aspx_2",                  --以下为一个客户端提交函数,上面的关联函数就是为了获取该提交后,服务器反馈的值。
              "Action=http://192.168.3.99/tbasetest/CeShiYL/TB_CeShiYLGL.aspx?bz=1&GONGNENGID=MTE*",
                "Method=POST",
                "RecContentType=text/html",
                "Referer=http://192.168.3.99/tbasetest/CeShiYL/TB_CeShiYLGL.aspx?bz=1&GONGNENGID=MTE*",
                "Snapshot=t19.inf",
                "Mode=HTML",
                ITEMDATA,
                "Name=__EVENTTARGET", "Value=LB_Add", ENDITEM,
                "Name=__EVENTARGUMENT", "Value=", ENDITEM,
                "Name=__LASTFOCUS", "Value=", ENDITEM,
                "Name=__VIEWSTATE", "Value=/", ENDITEM,
                "Name=hdnYongLiGL", "Value=", ENDITEM,
                "Name=hdnDelRows", "Value=", ENDITEM,
                "Name=yl_tcid", "Value=1725", ENDITEM,
                "Name=yl_xm", "Value=1", ENDITEM,
                "Name=yl_xt", "Value=BAGL-1", ENDITEM,
                "Name=yxj", "Value=yl_gj", ENDITEM,
                "Name=yl_lyxq", "Value=", ENDITEM,
                "Name=yl_qzyl", "Value=", ENDITEM,
                "Name=yl_cjms", "Value=", ENDITEM,
                "Name=YuQiJG", "Value=%3CDisplayLayout%3E%3CStateChanges%3E%3C/StateChanges%3E%3C/DisplayLayout%3E", ENDITEM,
                "Name=yl_yyjgid", "Value=", ENDITEM,
                "Name=yl_yyjgidOrign", "Value=", ENDITEM,
                "Name=ylkhid", "Value=", ENDITEM,
                "Name=QuXiaoBZ", "Value=1", ENDITEM,
                "Name=_IG_CSS_LINKS_", "Value=", ENDITEM,
                LAST);

        lr_output_message("Value TCID = %s", lr_eval_string("{tcid}"));    --输出关联的变量值

此时肯定会有一个疑问,我们如何获取左右边界的值。其实也比较简单,常见的方法见下图



注意点:
1、设置左右边界时,遇到的引号必须加转义符号
2、自定义关联返回值存放的参数的最大长度
3、注意关联函数的位置

原文地址:https://www.cnblogs.com/jsh-tianshi/p/3639529.html