官方解释
我的理解
其实学过代码的都知道,就是变量赋值,然后引用而已,而jmter一般称为json提取器,LR简称为关联。
举个例子:
新增用户,删除用户,这要求删除新增必须为同一个用户,那么需要怎么做呢?
我的大概理解如下:
步骤1)新增用户,返回结果中有ID
步骤2)从新增用户返回结果中提取ID信息,并赋值给一个对象(变量)
步骤3)删除用户中引用这个变量即可
下面是实战例子,新增删除体验码:
设已弄好新增删除体验码请求,那么接下来的步骤只需要:
1、 在新增体验码请求中,添加json提取器。
添加方法为:xx请求-后置处理器-json extractor
2、 在新增体验码中的json提取器定义一个变量,提取返回结果。然后在下一个请求(删除体验码)中引用这个变量
新增体验码返回结果图
json提取器详解图
3、下一个请求(删除体验码)中,引用这个变量信息
4、成功了,看下一个请求(删除体验码)返回信息,每次删除的code都是不一样的
注意事项
1、如果返回结果的有多个嵌套,怎么办?
比如要提取下图中的violationcode的参数1345,要怎么做呢?首先,了解返回的结构,这个是一个字典里嵌套了一个列表,然后列表里再嵌套了一个字典。那么我们的json path expression就应该设置为$.result[0].violationCode。
详解:其实,也没多难。代码中怎么取,就怎么取,学过代码就知道很简单了。
外面是一层字典,先取result,根据key(result)取values
然后是一层列表,我们取第一个,就是0 ;
然后是一层字典,再根据key取values即可,即violationcode取参数1345
(可以百度一些json在线解析,校验一下,更容易明白)
2、关于返回中有特殊字符,注意要转为ASCII码再使用
来源:oschina
链接:https://my.oschina.net/u/4384474/blog/3866539