##补充##
接口响应数据,一般为JSON,HTML格式的数据。
对于HTML的响应结果提取,可以使用正则表达式,也可以通过XPath来提取;对于JSON格式的数据,可以用正则表达式,JSON Extractor插件,BeanShell来提取JSON响应结果。
比如:想要获取响应中的 robotCallJobId 作为下一个接口的入参,可以使用JMeter的JSON提取器(JSON Extractor),提取该值,参数化该入参
操作步骤如下:
1.安装JMeter插件管理器(Plugins Manager)
下载地址:
直接下载 plugins-manager.jar,然后把jar包放到JMeter的安装路径下:/apache-jmeter-3.2/lib/ext,重启JMeter,进入JMeter的GUI页面,会发现多了一个插件管理器的标志,点击打开选择要用的插件(JSON Extractor)安装
在Available Plugins中选择需要安装的插件(JSON/YAML Path Extractor),安装了的插件可以在 Installed Plugins中查看
2.使用JSON/YAML Path Extractor 提取响应JSON中的某一具体值
在需要提取响应数据的HTTP请求下面,添加一个 jp@gc - JSON/YAML Path Extractor ,添加路径为:HTTP请求-》添加-》后置处理器-》 jp@gc - JSON/YAML Path Extractor
根据JSON格式,提取想要的数据
##解释##
1》.Destination Variable Name:指变量名称,就是你要提取的那个数据的key值
2》.JSONPath Expression:指要获取数据的JSON层级,层级一定要书写正确,否则会提取失败,同时数组类的级别,需要指定下标
3》.Default Value:缺省值,当会有获取数据时,传入的值
3. 在接口中,使用提取的数据作为入参
3.1在Body Data中,使用${变量名称},如 ${robotCallJobId}传参,当提取的值是一组数据,但是下个接口并不需要传入all数据,而且该数组中的部分数据,此时可以使用下标,指定传入的参数,${robotCallJobId_1}表示第一个值,${robotCallJobId_n}表示该数组的第N个值
3.2在Parameters中使用${变量名称},如${robotCallJobId} 当成value值传参
这样就实现了,将上一个接口的JSON响应数据获取,作为下一个接口的入参了