美文网首页
jmeter响应断言

jmeter响应断言

作者: 开心的小哈 | 来源:发表于2021-03-25 09:02 被阅读0次

    断言是验证服务器的返回请求的参数进行验证
    释义:验证测试结果是否达到预期效果

    断言页面
    Apply to:
    勾选第一个:主请求和子请求都进行验证,不好含heads验证
    勾选第二个:主请求进行断言
    模式匹配规则:
    包括:包含下方字符串,可以使用正侧表达式
    匹配:匹配下方字符串,可以使用正侧表达式
    相等:等于下方字符串
    字符串:包含下方字符串,不可以使用正侧表达式
    否:取反测试模式的关键词
    或者:对添加的测试模式取或者关系,一个满足条件即可true
    测试模式:
    add:添加多个匹配模式,默认是全部满足

    JSON断言

    释义:JSON断言可以对服务器返回的JSON文档进行验证。
    JSON断言有两种使用模式
    1.根据JSONPath能否在JSON文档中找到路径;
    2.根据JSONPath提取值并对值进行验证。

    使用:选择HTTP请求右键添加JSON断言:


    image.png

    诺文档格式为非JSON则断言失败;
    诺找不到路径断言失败;
    诺提取值与预期值不一致断言失败;

    JSONPath语法元素

    XPath JSONPath Description
    / $ 跟对象/元素
    . @ 当前对象/元素
    / . or [] 子操作符
    .. n/a JSON Path不支持父操作符
    // .. 递归下降/ 选择所有符合条件的节点
    * * 通配符,代表所有对象/元素
    @ n/a JSON Path不支持属性访问
    [] [] 下标运算,通过数组元素的下表访问数组元素
    | [ , ] Union操作符,使用间隔的名称或数组下标生成子集
    n/a [start:end:step] 数组切片
    [] ?() 使用过滤表达式
    n/a () 脚本表达式
    () n/a JSON Path不支持分组

    使用:
    可以用察看结果树里的JSON Path Tester的结果进行输入JSONPath语句测试,语句是否可以获得到对应数据入下图:

    察看结果树
    语句使用:

    $.data.dataList[1]
    获取data下dataList数组下第1个数组内容
    $.data.dataList[?(@.id==287)]
    获取data下dataList数组里的id等于287的数据
    $.data.dataList[*].id
    获取data下dataList所有数组里的id属性
    $.data.dataList[0].id
    获取data下dataList第0个数组里的id属性
    $.data.dataList[?(@.projectName=='播恩集团')]
    获取data下dataList数组里的projectName等于 播恩集团 的数据
    $.data.dataList[?(@.projectName)]
    获取data下dataList数组里包含的projectName属性的数据
    $..id
    获取所有id属性的值

    (注意这里不能写成=,要写成==)因为=是赋值,而==则是判断语句

    相关文章

      网友评论

          本文标题:jmeter响应断言

          本文链接:https://www.haomeiwen.com/subject/yabwcltx.html