这篇文章主要记录一下我自己的一些学习成果,也为其他跟我一样的小白提供一些帮助
关联的方式一共有3中,下面开始一一介绍:
一、关联方法之手动关联
步骤:1、使用相同的业务流程与数据,录制二份一模一样的脚本
2、找出两份脚本中不同的地方(可使用lr自带的WinDiff进行对比:Tools-Compare with Script)
3、确定脚本中有差异的地方是否需要关联(思考时间不需要做关联)
4、确定关联函数的插入位置
重新执行一遍脚本,而且这次会开启所有的Log。 在VuGen中点选【Vuser】>【Run-Time Settings】>【General】>【Log】>勾选【Enable logging】、【Always sends messages】、【Extended log】以及【Extended log】下的所有选项,按下【OK】,然后就可以执行脚本了。
执行完脚本之后,在Replay log中可以查看到动态值所在行
为什么关联函数要插入到动态值所属的请求前?而不是动态值所在的那一行?
因为web_reg_save_param函数为注册函数,必须在动态值的前面,相当于先声明,后作用。注意:并不是在动态值的前面就行了,一定得在该 动态值所属的请求前,如例子中应该在“web_url”前面,而不是第17行的“web_submit_data”之前,这里需要好好理解一下。
5、使用web_reg_save_param函数手动建立关联
web_reg_save_param("outFlightVal" , "LB=outboundFlight value=","RB= checked >", "Search=body",LAST );
6、参数化要关联的动态值
7、回放脚本验证关联是否成功
关于易混淆的两个地方这里再废话几句:
1、第一次是在Generation log日志中查找动态值,看动态值在日志中的标头是“response...”还是“request...”,来确定该动态值是否需要关联,动态值在responsez中的才需要关联,如果在request中,表示是在client中产生的,不需要做关联
2、第二次是在Repaly log日志中查找动态值所在行(注意:查找时复制的查找内容并不是动态值,而是动态值所在行的其他脚本内容,因为Repaly log日志是回放脚本时产生的,脚本经过回放后,动态值已改变,再复制动态值查找极有可能查找不到),目的是看该行前面的Action(X),来确定关联 函数应该插入的位置,X代表行,X为几,对应的关联就应该插入到此行前面。切记:第一次查找是确定动态值是否需要关联,第二次查找日志是确定关联函数应插 入在什么位置
二、关联方法之自动关联
1、在录制脚本之前,打开recording Options 窗口,点击correlation标签页。确保Enable correlation during recording 选项处于勾选状态。
2、录制完脚本之后,回放脚本,报错,点击选择菜单栏Vuser ---> Scan Script for Correlations(快捷键ctrl + F8 )弹出下面窗口
扫描相关性扫描不一样的值,点击correlation就关联上了
三、关联方法之一边录制一边关联,也就是预关联
预关联也可以叫做“ 一边录制一边关联”。为什么录制某此系统,会得到一些自动关联函数呢?这就是系统默认提供自动关联设置。如果我们预先知道需要关联的内容时。可以预先设置好要关联的内容,这样在脚本录制的过程中自动对要关联的内容进行关联。
在录制脚本时打开Recording Options 设置窗口
(本文以loadrunner自带WebTours 的关联为例)
1、点击一New Application 按钮,新建一个叫做WebTours 的应用
2、选择这个规则,点击New Rule 按钮一个规则。
3、然后做如下设置:
设置关联规则然后使用web_reg_save_param 关联函数
网友评论