• Jmeter脚本增强之关联的高级应用 返回Json数据的处理(9)


    •  一、用后置处理器 json path

    ①下载JMeter 插件 Json Path

    1、前提:先打开jmeter,看看后置处理器中是否已经存在JSON Path Extractor,如果没有再进行第二步操作。

    2、下载plugins-manager.jar并将其放入lib / ext目录,然后重启JMeter。

          下载地址:https://jmeter-plugins.org/install/Install/

    3、安装插件 options->plugins manager>Available Plugins>勾选JSON/YAML Plugins(deprecated)>点击【Apply Changes and Restart JMeter】

    参照:https://www.codetd.com/article/6610562https://www.codetd.com/article/6610562  

    ②目标从http请求的response数据中,提取stuId

     

    ③为该http请求添加后置处理器 Json Path Extractor

    提取表达式的写法:$表示接口的返回值,如果要取字典key的value,用点号。   如果是取列表的某个值,用索引(下标)。

     ④通过Debug sampler查看通过json path提取到的参数值:

    =======================

    一定要安装 Json Path 插件?

    • JSON 数据结构简单的情况

        使用原生内置的 Regular Expression Extractor(正则表达式)后置处理器来提取数据是可以自如应对的,不一定非要安装 Json Path 相关插件;

        使用正则表达式的一个优势在于 JMeter 安装时就内置了,不用额外安装;

    • 随着 JSON 数据结构复杂度上升,

        创建和阅读正则表达式并不容易,正则表达式是难以理解的,其可维护性自然大打折扣;

        安装 Json Path 相关的插件就是一个较好的解决 JSON 数据结构复杂度的方法。

    从 JSON response 中提取数据(每个 Extractor 只能抽取一个变量)

    对照:使用 Regular Expression Extractor 一次提取多个数据

    • 在一个请求下加一个 Regular Expression Extractor;

    • 进行配置:
      Reference Name: myVar
      Regular Expression: {"succ":"(.+?)","passcode":"(.+?)"}
      Template: $1$$2$
      1)提取两个变量,使用 ${myVar_g1} 和 ${myVar_g2} 访问,加个 Debug Sampler 可以在 View Results Tree 查看;
      2)即使使用 Regular Expression Extractor,也建议每个 Extractor 只提取一个变量值,直观有语义;

    作者:michael_jia
    链接:https://www.jianshu.com/p/56a607fc0d8f
    =======================

     二、使用正则表达式提取

      

    这是按照固定的格式从字符串中提取数据

    三、BeanShell Post Processor  使用到再了解

    参照:https://www.cnblogs.com/yangxia-test/p/4649082.html

    -----------------------------------------Have a good day!---------------------------------------------------------------------------------------------------
  • 相关阅读:
    HDU 1301 Jungle Roads
    HDU 1671 Phone List
    HDU 1992 Tiling a Grid With Dominoes
    HDU 1251 统计难题
    总结自己的近期表现
    Windows API 函数: SetClassLong
    ModifyStyle
    assert,assert_valid,verify,trace用法
    用VC++绘制位图按钮
    Codeforces 144D. Missile Silos 最短路
  • 原文地址:https://www.cnblogs.com/ww-xiaowei/p/11151580.html
Copyright © 2020-2023  润新知