在JMS插件从jmeter-plugins.org捐赠给核心JMeter之后,JSON插件在Apache JMeter™版本4中被弃用。现在,我已更新此插件以支持新功能和新功能。在这个新版本中,两个插件组件,JSON Path ExtractorJSON Path Assertion都有一个新的输入格式--YAML。因此,用户可以在运行JMeter负载测试时选择JSON和YAML输入格式。这为性能测试人员提供了更多选项和灵活性 - 以前在JSON中完成的所有工作现在也可以在YAML中完成。

让我们通过生成一个简单的测试计划来了解JSON / YAML插件的工作原理。此测试计划将从YAML中的两个数组(列表)中获取随机值,并在POST请求中将它们用作主体参数。将从另一个请求接收这两个数组。

让我们开始吧。

1.使用JMeter插件管理器将JSON / YAML插件添加到JMeter 

2.将螺纹组添加到测试计划中。

3.添加HTTP请求并配置URL参数。(在我的例子中,我将使用Dummy Sampler,因为我想以YAML格式显示响应)。

对于此示例,我的服务器将在YAML中返回以下响应。来自此的数据将用于模拟在BlazeDemo网站上提交表单的响应。

门票:
出发:
城市:
- 布宜诺斯艾利斯
- 罗马
- 伦敦
- 柏林
目的地:
城市:
- 波士顿
- 米兰
- 巴黎
- 莫斯科
tickets:
departure:
cities:
- Buenos Aires
- Rome
- London
- Berlin
destination:
cities:
- Boston
- Milan
- Paris
- Moskow
 

4.添加JSON / YAML路径断言

我添加了两个断言,它将检查我的路径是否存在于响应中。每个断言都有自己的路径:

  • $ .tickets.departure.cities
  • $ .tickets.destination.cities

5.在断言中选择YAML输入格式。

6.添加JSON / YAML路径提取器

我添加了两个提取器,它们将两个数组提取到变量中。每个提取器都有自己的路径:

  • $ .tickets.departure.cities [*]将提取变量'from'
  • $ .tickets.destination.cities [*]将提取变量'to'

7.在提取器中选择YAML输入格式。

8.让我们看一下提取器的结果。我们可以使用Debug Sampler和View Results Tree监听器。

如您所见,' from '和' to '变量显示YAML文件中的完整数组。我们还得到了包含每个数组大小的变量from_matchNr和to_matchNr。最后,我们看到了一组变量from_ *和to_ *包含从阵列中的每个元素。

现在,让我们看看如何从这些YAML数组中获取随机值(在结果中)并将其作为参数用于POST请求中。

9.创建HTTP请求,填写正文参数(服务器,协议等),并根据您需要的功能设置参数值。在这种情况下:

  • 使用随机函数$ {__ Random(1,$ {from_matchNr})}
  • 使用__V函数来评估嵌套变量引用。
  • $ {__ V(从_ $ {__随机(1,$ {from_matchNr})})}
  • 对'to'变量更改相同的内容:$ {__ V(to _ $ {__ Random(1,$ {to_matchNr})})}

10.现在我可以运行我的测试脚本并查看请求正文。你可以看到它有随机值:

而已!您现在可以像使用JSON一样在JMeter中使用YAML输入。然后,在创建JMeter脚本之后,您可以在BlazeMeter中从多个地理位置运行它,与CI工具集成并获取高级报告。立即开始测试:将您的URL放在下面的框中,您的测试将在几分钟内开始。

新的JSON / YAML插件:在JMeter中使用YAML的更多相关文章

  1. jmeter中websocket接口测试

    一.Websocket协议简介 Websocket是一个持久化的协议,相对于HTTP这种非持久的协议来说: HTTP协议: HTTP的生命周期通过 Request 来界定,也就是一个 Request  ...

  2. JMeter使用JSON Extractor插件实现将一个接口的JSON返回值作为下一个接口的入参

    ##补充## 接口响应数据,一般为JSON,HTML格式的数据. 对于HTML的响应结果提取,可以使用正则表达式,也可以通过XPath来提取:对于JSON格式的数据,可以用正则表达式,JSON Ext ...

  3. JMeter中返回Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  4. 【jmeter】JMeter中返回Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  5. JMeter二次开发(2)-编写 JSON Assertion 插件

    本篇文章主要介绍如何对JMeter进行二次开发,添加自己所需的功能.这里以Json验证为例进行说明.在web接口测试过程中,JSON的应用已经非常普遍,但原声的JMeter并没有提供Json及Json ...

  6. JMeter中返回Json数据的处理方法(转)

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

  7. JMeter 中对于Json数据的处理方法

    JMeter中对于Json数据的处理方法 http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ J ...

  8. Jmeter 中JSON Path Extractor高级用法

    好久没玩jemter了,由于项目原因又重新拾起.在使用JSON Path Extractor(jmeter 4.0已经默认支持了,4.0以下要自行安装插件)时,可以进行条件过滤,不用再自行写shell ...

  9. 【转】JMeter中对于Json数据的处理方法

    Json 作为一种数据交换格式在网络开发,特别是 Ajax 与 Restful 架构中应用的越来越广泛.而 Apache 的 JMeter 也是较受欢迎的压力测试工具之一,但是它本身没有提供对于 Js ...

随机推荐

  1. Hive- Hive安装

    Hive安装 1.1下载Hive安装包 官网:http://hive.apache.org/downloads.html 个人建议到这里下载:http://apache.forsale.plus/ 1 ...

  2. idea创建maven-archetype-webapp项目无java目录

    使用idea创建一个maven-archetype-webapp项目 查看项目的目录结构,在main的目录下没有java目录 在main目录下创建java目录 使用快捷键 ctrl+alt+shift ...

  3. HDU-6035:Colorful Tree(虚树+DP)

    这里有三道长得像的题: 一:HDU6036: There is a tree with nn nodes, each of which has a type of color represented ...

  4. ***静态成员的定义及初始化 for c++ for新用法

    静态成员的初始化要在类外不然报错error: ISO C++ forbids in-class initialization of non-const static member '***' 但是声明 ...

  5. 京东ie6中轮播模块小图出现在大图上

    请大家给个评论,给个支持!呵呵 本人最新一套模版小清新童装母婴日韩风全屏轮播(上线风暴),在审核时审核失败,报的是“ie6中全屏海报轮播是小图出现在大图中间的兼容性错误” 而本人本机出现的是小图基本上 ...

  6. TTY,Console以及Terminal

    TTY可以理解是一种终端显示.可以在/dev文件夹看到多个tty开头的文件,可以通过alt+Fn(n=1~6)来进行切换.这个是不是和GUI场景下的多个Terminal窗口是一致的呢? 伪TTY是指一 ...

  7. 洛谷 P4721 [模板]分治FFT —— 分治FFT / 多项式求逆

    题目:https://www.luogu.org/problemnew/show/P4721 分治做法,考虑左边对右边的贡献即可: 注意最大用到的 a 的项也不过是 a[r-l] ,所以 NTT 可以 ...

  8. python--面向对象(最全讲解)

    http://www.cnblogs.com/Eva-J/articles/7293890.html 阅读目录 楔子 面向过程vs面向对象 初识面向对象 类的相关知识 对象的相关知识 对象之间的交互 ...

  9. printf函数指向串口的方法

    简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式),标准库函数的默认输出设备是显示器,要实现在串口或LCD输出,必须重定义标准库函数里调 ...

  10. 【转】Pro Android学习笔记(七):了解Content Provider(下上)

    我们通过一个Content Provider小例子进行详细说明.数据源是一个SQLite数据库,名字为books.db,该数据库只含有一个表格,名字为books.表格中含有name,isbn,auth ...