51Testing软件测试论坛

标题: Loadrunner如何进行关联? [打印本页]

作者: lsekfe    时间: 2021-7-21 10:17
标题: Loadrunner如何进行关联?
在使用loadrunner的过程中,有好多地方都需要做关联,那么我们又该如何做关联呢?
首先我们录制一个脚本,然后回放,发现有报错的地方,那么我们首先想到的就应该是关联。loadrunner这个工具很强大,它可以自动给我们查询出有可能出现关联的地方。点击Design-Design Studio
[attach]133282[/attach]
如果脚本中没有需要关联的地方,那么显示如下页面
[attach]133283[/attach]
如果脚本中有需要关联的地方,就会出现如下的页面
[attach]133282[/attach]
通过这种关联的方式,有可能会将本来不需要关联的点给搜索出来,也可能会将本应该进行关联的地方漏掉。所以我们在用这种方法查找出需求关联的地方后,需要具体问题具体分析,并不需要将所有的都设置成关联。然后选中我们认为需要关联的地方,点击“Correlation”就可以将这个地方进行关联。
进行关联之后,我们关闭当前页面,去查看脚本里有什么变化

第一个就是在脚本里添加了关联函数,如下图
[attach]133285[/attach]
另一个就是将原本显示v_1的地方替换成我们关联函数的名字
[attach]133286[/attach]
关联完成后,回放脚本,查看回放结果。如果是成功的,表示我们我们做的关联比较完整;如果还是失败的,就要考虑是不是有Loadrunner没有检测出来的关联。
[attach]133287[/attach]
如果回放还不成功,就有可能是有其他关联程序未能成功检索。
下面我们说一下怎样手动添加关联。

首先我们录制两次同样的流程,然后将两次生成的代码做一下对比。经比较发现authtoken是最有可能是关联的地方
[attach]133288[/attach]
那么找到了需要关联的地方,我们如何手动进行关联呢?
我们可以使用函数web_reg_save_param_ex手动添加关联
web_reg_save_param_ex(
"ParamName=参数名",
"LB=动态值的左边界",
"RB=动态值的右边界",
LAST)
接下来我们根据上面截取的需要进行关联的值进行取值,现将要动态获取的地方截取出来

gotourl=&authtoken=2534nTNFBxeShc5Jq0HJZ5EqJK4NZT7"
[attach]133289[/attach]
如上图所示,我们需要获取的就是这一串数据,下面我们来定义一下左右边界
  1. web_reg_save_param_ex(
  2. "ParamName=authtoken",
  3. "LB=authtoken=",
  4. "RB=\"",
  5. LAST)
复制代码
然后将动态值的地方替换成{参数名},如下图
[attach]133290[/attach]
这样我们再回放脚本就不会报错啦。
那么什么情况下我们会用到关联呢?
一般关联的数据是服务器响应请求返回的数据。
那么常见的用到关联的业务场景都有哪些呢?

首先最常见的就是登录。一般我们请求登录的时候,服务器会返回一个sessionid,如下图所示。
[attach]133291[/attach]
还有就是我们购买一个商品的时候,订单号也是服务器生成并返回到页面上的,如果后面我们要对这个订单进行操作,或者要对这个订单添加个检查点,那么就要把订单号也做一下
[attach]133292[/attach]
当然我们购买完商品后,申请发货的时候新增的地址的id也是服务器返回的,如果要使用这个新地址,那么也是要对地址的id进行关联的
[attach]133293[/attach]
体来说只要记住一句话,凡是服务器返回的且我们后面的操作中要用到的数据,我们都需要做一下关联。通过上面3个例子大家可以好好的理解一下。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2