1、JSON提取器
入门:查看结果树种的请求结果 有更换结构 切换到JSON Path Tester
在JSON Path Exprression 中输入JSON获取的语法,详细见JSON Path网站:
进阶--JSON 提取器
Jmeter中将json提取的值作为变量便于后期引用
JSON提取器参数含义:
Names of created varriables:设置获取到值的变量名称,用于后期引用;多个变量时用分号分隔;
JSON Path expressions:用于查找对应值的JSON语句;
Match No.(0 for Random):0表示随机;n表示取第几个匹配值;-1表示匹配所有,后续引用时采用 变量名_N 取指定的第N个值;
Default Values:缺省值,当JSON 语句未匹配到值时取该值。
如果前面设置提取多个变量名且需要有缺省值时,这里的缺省值必须设置对应个数的默认值,值与值之间用分号分隔;
不需要缺省值时,这里也可以为空。
示例:
查看结构树
2、正则表达式提取器
JSON提取器只能提取响应内容,而正则表达式提取器可以提取响应头、请求头的值,当然也可以提取响应内容。
正则表达式提取器模块各自的含义:
Apply to:应用范围,选默认的main sample only就行了
要检查的响应字段:要提取的字段范围
主体:响应体,不包含响应头;最常用
body(unescaped):响应体,替换了所有HTML转义符;不建议使用
body as a Document:从不同类型的文件中提取文本;影响性能
信息头:响应头
Requeste Headers:请求头
URL:URL
响应代码:响应码(Response code)
响应信息:响应信息(Response message)
引用名称:接收提取值的变量名,*必传
正则表达式:正则表达式
模板:从找到的匹配项中创建字符串的模板
如果一条正则表达式有多个提取结果,则提取结果是数组形式
模板1、2…表示把解析到的第几个值赋值给变量,从1开始匹配
0表示整个表达式匹配的内容
若只有一个结果,只能是1 一般写:$1$
匹配数字(0代表随机):取第几个值(0:随机,默认;-1所有;1第一个值),非必传
缺省值:缺省值,匹配不到值的时候取该值,非必传
使用空默认值:勾选后,提取不到值时,则返回空字符串
示例详解:取机器人接口返回的content响应内容
语义 API,语义分析 JSONAPI,智能机器人API接口 (sojson.com)
看是否可以截取成功,可以与调试取样器组合,调试取样器一般放最后,一般请求完后才可以取样,所以一般放最后即可。
查看结果 树:调试器成功获取到conten返回的内容
也可以直接拿来用到请求参数里面中
查看结果树
3、响应断言
主要用于对HTTP响应的内容进行断言,例如检查响应结果是否包含或等于指定的值。这种断言可以适用于各种返回类型的响应结果,如HTML、application/json、application/xml等
4、JSON断言
专门用于断言JSON响应中的字段值是否等于指定的值。这种断言仅适用于响应结果为application/json格式的情况
查看结构树:请求成功,说明断言成功
5、BeanShell断言
提供脚本语言进行自定义断言,适用于需要复杂逻辑判断的场景。