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、注意关联函数的位置

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-08-07 10:51:34

LoadRunner手工关联的相关文章

LoadRunner:关联HTTP请求

本例通过一个使用HTTP/HTML协议发送.获取服务器数据的vuser脚本,分析LoadRunner如何进行HTTP关联. 下面这个例子包括两个事务:上传数据到服务器.下载服务器数据,通过关联将服务器返回的数据保存下来,方便就行分析. 1.定义变量 在Action最前面定义变量,否则会报错. 代码:  merc_timer_handle_t timer;  double wasteTime=0;         char *ActualBuffer;  int NumberOfBytes;  c

LoadRunner性能测试基础知识问答

Q1:什么是负载测试?什么是性能测试? A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量. 性能测试:指在一定的约束条件下(指定的软件.硬件.网络环境等),确定系统所能承受的最大负载压力. Q2.性能测试包含了哪些测试(至少举出3种) A2:性能测试包含负载测试.压力测试.大数据量测试.疲劳强度测试等. Q

LoadRunner编写Socket协议脚本方法

本文主要介绍使用LoadRunner手工编写Windows Socket协议测试脚本的方法. 通过LoadRunner编写Windows Socket协议测试脚本,总体说来,比较简单.就像把大象放进冰箱一样,总共分三步: 第一步:把冰箱门打开 //建立到服务端的连接 rc = lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.64.64.23:8988&

LoadRunner 性能测试脚本

1   概述 脚本录制编写是性能测试的一个重要环节.在性能测试过程中,虚拟用户模拟真实用户使用被测系统,这个"模拟"的过程正是通过性能测试脚本来实现的.因此,编写一个准确无误的脚本对性能测试有至关重要的意义.完成性能测试脚本包括两个步骤:脚本录制和脚本编写,本文重点关注脚本编写. 2   脚本录制 2.1.录制方式 HTTP协议脚本录制可选两种方式:基于HTML和基于URL.选择哪种录制方式的原则如下:基于浏览器的HTTP应用系统选择HTML,基于其他方式的HTTP应用系统选择URL.

[转帖]TestLink1.6 配置说明

 $g_tpl [ ' tcView ' ]  $g_tpl [ ' tcSearchView ' ]  $g_tpl [ ' tcEdit ' ]  $g_tpl [ ' tcNew ' ]  $g_tpl [ ' execSetResults ' ]  最近抽空学习了一下TestLink1.6,看到Judy写了TestLink1.6的安装文档,我就不重复了,跟一篇配置文档吧,原文在我的blog上,是翻译TestLink1.6的安装配置手册的,(http://blog.csdn.net/yol

半桶水谈性能测试

首先在我的职业生涯中,做性能测试的机会不多,发现性能瓶颈的次数更少,确切的说只有2次.随着大型分布式系统,特别是Web App和云计算的推广,性能测试的需求会更加迫切.今天我这个半桶水就来谈谈性能测试的话题,欢迎大家一起来讨论. 什么是性能测试? 性能测试是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试. 负载测试和压力测试都属于性能测试,两者可以结合进行. 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况

LoadRunner 技巧之 自动关联

     这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦.   关联的原理:                                                                                             先来模拟一个场景,我去坐火车,坐火车要先检票,检票员核对火车票的时间.班次等信息正确后允许我坐火车. 过了几天,我又拿着一张票去坐火车,检票员再一次核对火车票信息,发现这张票过期了,肯定不让我坐了.那我

LoadRunner 技巧之自动关联

这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦. 关联的原理: 先来模拟一个场景,我去坐火车,坐火车要先检票,检票员核对火车票的时间.班次等信息正确后允许我坐火车. 过了几天,我又拿着一张票去坐火车,检票员再一次核对火车票信息,发现这张票过期了,肯定不让我坐了.那我怎么才能坐火车呢?我先看看旁边那哥们的火车票上的信息,然后把自己的查票涂改成和他一模一样再去坐火车. 在我们录制测试脚本时也经常会遇到这样的情况:录制的时候,服务器会给一个唯一的认证码来进行操作,当

LoadRunner 技巧之 手动关联与预关联

上一节介绍了关联的原理与自动关联,除了自动关联还有另外两种关联方式:手动关联与 预关联.     手动关联                                                                                                    如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情.这时,我们可以通过脚本对比的方法找出需要关联的内容. 1.录制第一份脚本,保存为"关联a" . 2.录制