Jmeter——jsonPath断言

前面接口测试都是直接判断接口返回成功就可以了,单还有一些不仅要成功,还要返回的参数正确才行,这里就用到断言jsonpath了。
jmeter的断言jsonPath需要插件安装,如果你没有,请去插件安装那里安装JSON Extractor

jsonpath和xpath很像。
xPath是一种XML遍历的语法,可以从XML文档中提取特定的元素、属性、数据。
jsonPath是类似xPath的查询语法,可以从Json文档中提取特定的元素、属性、数据。

JsonPath与XPath语法对比:
Jmeter——jsonPath断言_第1张图片

下面操作过程是我从网上抄的,比我自己写的好,大家可以看看。
https://www.cnblogs.com/qiaoyeye/p/6913313.html

操作过程:

  1. 增加线程组

2.添加一个http请求,响应结果是json类型,如果是其他类型则不在本文讨论范围内

如我的请求的响应结果是:
在这里插入图片描述

我们想要提取响应结果中数组的第一个skillName的值

4.添加后置处理器:JSON Extractor,按如下设置

Jmeter——jsonPath断言_第2张图片

表达式也可以这样写: . . s k i l l s I n f o [ 0 ] . s k i l l N a m e , 具 体 写 法 可 参 照 j s o n p a t h 的 规 范 , 也 可 参 照 我 的 这 篇 文 章 h t t p : / / w w w . c n b l o g s . c o m / q i a o y e y e / p / 5236103. h t m l , 这 样 我 们 边 可 以 引 用 从 j s o n 中 提 取 的 响 应 值 , 具 体 引 用 变 量 方 法 : ..skillsInfo[0].skillName,具体写法可参照jsonpath的规范,也可参照我的这篇文章http://www.cnblogs.com/qiaoyeye/p/5236103.html,这样我们边可以引用从json中提取的响应值,具体引用变量方法: ..skillsInfo[0].skillNamejsonpathhttp://www.cnblogs.com/qiaoyeye/p/5236103.htmljson{test1}

5.添加断言JSON Path Assertion,并按如下设置

Jmeter——jsonPath断言_第3张图片

6.运行该线程组,即可看到断言结果

7.在json断言的预期结果中,我们也可以填写变量,如我们对比前面步骤用JSON Extractor提取的值:

Jmeter——jsonPath断言_第4张图片

8.勾选Match as regular expression

你可能感兴趣的:(性能测试,jsonpath)