zoukankan      html  css  js  c++  java
  • JMeter使用JSON Extractor插件实现将一个接口的JSON返回值作为下一个接口的入参

    ##补充##

    接口响应数据,一般为JSON,HTML格式的数据。

    对于HTML的响应结果提取,可以使用正则表达式,也可以通过XPath来提取;对于JSON格式的数据,可以用正则表达式,JSON Extractor插件,BeanShell来提取JSON响应结果。

    比如:想要获取响应中的 robotCallJobId 作为下一个接口的入参,可以使用JMeter的JSON提取器(JSON Extractor),提取该值,参数化该入参

    操作步骤如下:

    1.安装JMeter插件管理器(Plugins Manager)

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

     直接下载 plugins-manager.jar,然后把jar包放到JMeter的安装路径下:/apache-jmeter-3.2/lib/ext,重启JMeter,进入JMeter的GUI页面,会发现多了一个插件管理器的标志,点击打开选择要用的插件(JSON Extractor)安装

     在Available Plugins中选择需要安装的插件(JSON/YAML Path Extractor),安装了的插件可以在 Installed Plugins中查看

    2.使用JSON/YAML Path Extractor 提取响应JSON中的某一具体值

     在需要提取响应数据的HTTP请求下面,添加一个 jp@gc - JSON/YAML Path Extractor  ,添加路径为:HTTP请求-》添加-》后置处理器-》 jp@gc - JSON/YAML Path Extractor

     

    根据JSON格式,提取想要的数据

    ##解释##

    1》.Destination Variable Name:指变量名称,就是你要提取的那个数据的key值

    2》.JSONPath Expression:指要获取数据的JSON层级,层级一定要书写正确,否则会提取失败,同时数组类的级别,需要指定下标

    3》.Default Value:缺省值,当会有获取数据时,传入的值

    3. 在接口中,使用提取的数据作为入参

    3.1在Body Data中,使用${变量名称},如 ${robotCallJobId}传参,当提取的值是一组数据,但是下个接口并不需要传入all数据,而且该数组中的部分数据,此时可以使用下标,指定传入的参数,${robotCallJobId_1}表示第一个值,${robotCallJobId_n}表示该数组的第N个值

    3.2在Parameters中使用${变量名称},如${robotCallJobId} 当成value值传参

    这样就实现了,将上一个接口的JSON响应数据获取,作为下一个接口的入参了

    三四月做的事 七八月自有答案
  • 相关阅读:
    数据库设计 概念结构设计(以权限系统为例)
    sp_addlinkedserver使用方法
    动态页面静态化技术(很不错的教程摘录)
    C#获取硬件序列号
    [转]消息队列关于MSMQ的基础知识
    通过Image对象获取对象的格式
    历史项目的回忆 2008.04.27
    解决Access to Message Queuing system is denied.权限问题
    windows 输入法生成器 导出输入法的mb文件到txt
    [转载]C#版可调节的文字阴影特效
  • 原文地址:https://www.cnblogs.com/justyoutiao/p/11385920.html
Copyright © 2011-2022 走看看