• jmeter接口压力测试-(二)


    json提取器的应用:

    注意查看 JSON path expressions:
    $.data.data.[*].[?(@.status==3)].borrowId 筛选指定条件的数据

    JSON提取器页面的解释:

    名称:自己命名即可
    注释:自己命名即可
    Apply to:

    1. 名称:自行定义,就是节点的名称
    2. 注释:节点的注释,容易理解的解释
    3. Apply to:断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。
    • Main sample and sub-samples:主样本和子样本
    • Main sample only:仅主样本
    • Sub-samples only:仅子样本
    • JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容
      Names of created variables:变量名称,比如:id,后续可以引用这个名称
      JSON Path Expressions:JSON元素的路径
      Match No. (0 for Random):0代表随机,就是JSON路径取出来的可能有多个值,0就是随机取一个,要取第一个,那么就填1即可。-1代表取所有
      Compute concatenation var:如果找到许多结果,插件将会使用’,’连接起来
      Default Values:默认值

    JSON提取器分析:

      1. 返回的数据必须的JSON格式,否则会解析失败。
      2. 他将JsonPath语法搜索指定的路径,找不到路径,则会失败。JSONPath - XPath for JSON 这个网址去学习JSON语法。
        举例:取code值
      3. 二、Json提取最后一组数据

        新建后的属性接口响应回来一般放在第一位或者最后一位,第一位取比较方便,如下图:

        1. 取第一个分类的id

        1. $.[0].children[0].children[0].id

        2. 那么取最后一个分类中的二级分类的id:

        $.[0].children[-1:].children[0].title

    $.data.recordList[*].code[0]----第一个code

    $.data.recordList[*].code[0]----倒数第二个code

    $.data.recordList[*].code[0,1]----前两个code

    注意:提取多个值,提取器的 Match No.(0 for Random)必须是-1

    工作中还会遇到需要按照条件取值的情况-----表达式:[?(expression)]

    $.data.recordList[*].code[?(@.test)]------提取code中包含test的记录

    $.data.recordList[*].code[?(@.voucher_time>‘2021-08-01’)]------提取reg_time字段大于2021-08-01的记录

    $.data.recordList[*].code[?(@.desc=~/.测试.?/i)]------提取desc字段中包含测试的记录

    $.data.recordList[*].code[?(@.sex)]------提取sex字段为0的记录

  • 相关阅读:
    Echarts 横向滚动和纵向滚动开发
    类型体系与基本数据类型(第五节)
    LeetCode算法心得——和可被 K 整除的子数组(前缀和+HashMap)
    C++ 指针介绍
    【JavaEE初阶】 计算机是如何工作的
    Mybatis—动态sql和分页
    代码随想录算法训练营第五十八天 |583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结篇
    docker 入门指南
    28.java中的集合框架的相关面试题[20220730]
    pytorch 笔记:index_select
  • 原文地址:https://blog.csdn.net/testManger/article/details/125990431