一、关联的目的
脚本的录制过程就是把用户的请求操作原原本本的录制保存下来,不会做任何的改变,在浏览器第一次跟服务器请求数据的时候,都会在返回的数据中夹带一个唯一的辨别码,之后就会通过这个辨别码识别发送数据请求的是不是同一个浏览器,这个辨别码是Session ID 。每个新的请求交互都会有一个新的session id发送给浏览器。所以录制的脚本在回放的时候带着已经使用过的session id去访问服务器,服务器经过校验之后发现这个session id已经过期或者不认识,就不会传输正确的网页给Vugen 。
为了满足这个需求就需要有一个能够记录服务器返回的session id的功能,关联的作用就是能够保证数据的动态性。
关联是一种特殊的参数化,一般的参数化是参数来源是一个文件、一个定义的table、或者是一个sql结果集,但是关联的参数来源是服务器请求返回的一个符合条件的动态值。
二、什么时候需要使用关联
客户端与服务器的请求响应过程:
Client发送一个获取登录页面的请求,服务器收到请求之后返回一个登陆页面同时生成一个动态session id
用户输入账号密码请求登录时,session id同时也被发送给了服务器,如果这个sessionid在当前的会话中有效则登陆成功,否则失败。
每次发送登录页面请求的时候服务器都会生成一个新的session id
录制回放出现问题的原因:
在第一次录制的时候LR把session id记录下来,并且写到了脚本中,但是再次请求的时候,服务器返回了一个新的session id ,此时用户再次输入账号密码请求登录,发送过去的session id是旧的,这样就导致回放的时候出现错误。
只要