一、关联的含义:
  关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态值,从而向服务器发出正确的请求,这种动态获得服务器响应内容的方法被称作关联。
  二、关联的过程:
  以登陆场景为例,客户端发出获得登录页面的请求,服务器端得到该请求后,返回登录页面,同时动态生成一个Session Id,当用户输入用户名密码,请求登录时,该Session Id同时被发送到服务器端,如果该Session Id在当前会话中有效,那么返回登录成功的页面,如果不正确则登录失败;在loadrunner第一次录制过程中会把这个值记录了下来,但回放时,客户端发出同样的请求,而服务器端再一次动态的生成了新的Session Id,与Loadrunner中录制的Session Id不匹配,此时客户端发出的请求会失败,为了获得这个动态的Session Id用到了关联。
  三、关联的使用:
  LR中对参数关联分两种:
  1、自动关联,比如在录制好后的脚本中,按CTRL+F8,扫描关联,将扫描出来的内容关联即可;如果LR找不到关联时,需要手动进行关联。
  2、手工关联函数web_reg_save_param,运行脚本时,web_reg_save_param 函数将扫描所访问的后续 HTML 页。如果指定左边界和右边界,将搜索这些边界之间的文本。将匹配的内容保存在web_reg_save_param中定义的参数中。
  实现过程如下:
web_reg_save_param("outFlightVal",
"LB=outboundFlight value=", "RB= checked >", LAST );
web_submit_form("reservations.pl",
"Snapshot=t4.inf",
ITEMDATA,
"Name=depart", "Value=London", ENDITEM,
"Name=departDate", "Value=11/20/2003", ENDITEM,
"Name=arrive", "Value=New York", ENDITEM,
"Name=returnDate", "Value=11/21/2003", ENDITEM,
"Name=numPassengers", "Value=1", ENDITEM,
"Name=roundtrip", "Value=<OFF>", ENDITEM,
"Name=seatPref", "Value=None", ENDITEM,
"Name=seatType", "Value=Coach", ENDITEM,
"Name=findFlights.x", "Value=83", ENDITEM,
"Name=findFlights.y", "Value=16", ENDITEM,
LAST );
web_submit_form("reservations.pl_2",
"Snapshot=t5.inf",
ITEMDATA,
"Name=outboundFlight", "Value={outFlightVal}", ENDITEM,
"Name=reserveFlights.x", "Value=92", ENDITEM,
"Name=reserveFlights.y", "Value=10", ENDITEM,
LAST );
  定义了搜索范围LB左边界值和RB右边界值,将匹配的内容存放在outFlightVal中,在web_submit_form表单中进行引用。
  实例说明:
  以下为服务响应表单,对返回的动态值orderId进行关联:
  <input type="hidden" id="orderId" name="orderId"
  value="f28958249e141e62312d855ce73252d3"/>
  实现如下:
  web_reg_save_param("orderId",
  "LB=name="orderId" value="",
  "RB="",
  LAST);
  在服务响应表单中找左边界是:name="orderId" value="
  右边界是:"
  将匹配到的结果赋给orderId。
  之后可以在后续流程中尽情的调用关联值了。
  另外:web_reg_save_param要放在web_submit_form等提交表单函数之前。
  web_reg_save_param必须在获取返回值的操作前面注册,在获取返回值的操作后面使用。
  保存参数大不能超过256字节,如果超过256字节请使用int web_set_max_html_param_len(const char *length )函数扩大参数保存范围。
  例如:web_set_max_html_param_len ("1024"); //扩大参数大保存范围为1024字节。