LR(四)关联

来源:互联网 发布:大数据开发视频教程 编辑:程序博客网 时间:2024/04/30 08:09

一、关联的目的

脚本的录制过程就是把用户的请求操作原原本本的录制保存下来,不会做任何的改变,在浏览器第一次跟服务器请求数据的时候,都会在返回的数据中夹带一个唯一的辨别码,之后就会通过这个辨别码识别发送数据请求的是不是同一个浏览器,这个辨别码是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是旧的,这样就导致回放的时候出现错误。

只要能够获取动态的session id 在回放的时候就不会出现错误了。

当客户端的某个请求是根据服务端的相应变化而变化,这个时候就需要使用到关联。

只要是脚本每次执行的时候需要用到唯一标识的地方都需要关联。

三、关联的使用

在进行测试之前需要对项目进行深入的了解,要知道哪些请求需要用到服务器的动态值,然后根据需要进行关联。也可以通过录制脚本找到两个脚本的不同之处做关联,但是不是所有的不同之处都要做关联。

关联常用的函数:

Web_reg_save_param

Web_create_html_param

Web_create_param_ex

后面的两个函数主要是为了兼容旧版本,使用第一个函数就可以了。

0 0
原创粉丝点击