在使用loadrunner的过程中,有好多地方都需要做关联,那么我们又该如何做关联呢?
首先我们录制一个脚本,然后回放,发现有报错的地方,那么我们首先想到的就应该是关联。loadrunner这个工具很强大,它可以自动给我们查询出有可能出现关联的地方。点击Design-Design Studio:
如果脚本中没有需要关联的地方,那么显示如下页面:
如果脚本中有需要关联的地方,就会出现如下的页面:
通过这种关联的方式,有可能会将本来不需要关联的点给搜索出来,也可能会将本应该进行关联的地方漏掉。所以我们在用这种方法查找出需求关联的地方后,需要具体问题具体分析,并不需要将所有的都设置成关联。然后选中我们认为需要关联的地方,点击“Correlation”就可以将这个地方进行关联。
进行关联之后,我们关闭当前页面,去查看脚本里有什么变化。
第一个就是在脚本里添加了关联函数,如下图:
另一个就是将原本显示v_1的地方替换成我们关联函数的名字:
关联完成后,回放脚本,查看回放结果。如果是成功的,表示我们我们做的关联比较完整;如果还是失败的,就要考虑是不是有Loadrunner没有检测出来的关联。
如果回放还不成功,就有可能是有其他关联程序未能成功检索。
下面我们说一下怎样手动添加关联。
首先我们录制两次同样的流程,然后将两次生成的代码做一下对比。经比较发现authtoken是最有可能是关联的地方:
那么找到了需要关联的地方,我们如何手动进行关联呢?
我们可以使用函数web_reg_save_param_ex手动添加关联:
web_reg_save_param_ex( "ParamName=参数名", "LB=动态值的左边界", "RB=动态值的右边界", LAST)
接下来我们根据上面截取的需要进行关联的值进行取值,现将要动态获取的地方截取出来:
gotourl=&authtoken=2534nTNFBxeShc5Jq0HJZ5EqJK4NZT7"
如上图所示,我们需要获取的就是这一串数据,下面我们来定义一下左右边界:
web_reg_save_param_ex( "ParamName=authtoken", "LB=authtoken=", "RB=\"", LAST)
然后将动态值的地方替换成{参数名},如下图:
这样我们再回放脚本就不会报错啦。
那么什么情况下我们会用到关联呢?
一般关联的数据是服务器响应请求返回的数据。
那么常见的用到关联的业务场景都有哪些呢?
首先最常见的就是登录。一般我们请求登录的时候,服务器会返回一个sessionid,如下图所示。
还有就是我们购买一个商品的时候,订单号也是服务器生成并返回到页面上的,如果后面我们要对这个订单进行操作,或者要对这个订单添加个检查点,那么就要把订单号也做一下关联:
当然我们购买完商品后,申请发货的时候新增的地址的id也是服务器返回的,如果要使用这个新地址,那么也是要对地址的id进行关联的:
总体来说只要记住一句话,凡是服务器返回的且我们后面的操作中要用到的数据,我们都需要做一下关联。通过上面3个例子大家可以好好的理解一下。
作者:CICI