在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. 关于禁用bootstrap响应式解决方法

    前几天接到一个任务,用bootstrap框架写几个静态页面,由于长时间专注于后台开发,所以,花费了3天时间,才终于写完了页面,其中,来回的修改,把遇到的问题说一下. 用bootstarp做完页面后,组 ...

  2. 如何快速批量修改ArcGIS中的图层设置

    在ArcGIS中作图的时候,我们通常需要设置图层的颜色和粗细.点击图层的颜色,会跳出以下符号选择器: 右侧即可修改我们需要的属性. 但是我们有多个类似的属性如何修改成统一的样式呢? 鼠标图层右键,选择 ...

  3. 实际用户ID和有效用户ID (三) *****

    我们知道权限有r,w,x.其实除了这三个,还有特殊权限.比如: [root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 229 ...

  4. .NETFramework:Random

    ylbtech-.NETFramework:Random 1.程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c ...

  5. Modbus通讯协议学习 - 认识篇

    转自:http://www.cnblogs.com/luomingui/archive/2013/06/14/Modbus.html 什么是Modbus? Modbus 协议是应用于电子控制器上的一种 ...

  6. Tomcat的安装及使用

    下面是我搭建Tomcat的过程,记录一下 下载地址:http://tomcat.apache.org/  我下载的是8.5.30版本 安装 下载完成后解压到D盘 (配置变量的的教程网上大把随便搜) 1 ...

  7. Runtime.getRuntime()

    1转自:https://www.aliyun.com/jiaocheng/849282.html 那就首先说点Runtime类吧,他是一个与JVM运行时环境有关的类,这个类是Singleton的.我说 ...

  8. JavaScript高级程序设计学习笔记第五章--引用类型(函数部分)

    四.Function类型: 1.函数定义的方法: 函数声明:function sum (num1, num2) {return num1 + num2;} 函数表达式:var sum = functi ...

  9. App Distribution Guide--(三)---Configuring Your Xcode Project for Distribution

    Configuring Your Xcode Project for Distribution You can edit your project settings anytime, but some ...

  10. VS2017 不能创建 vsto Excel 工作簿程序的问题

    最近想写个小程序,是基于vsto的excel 扩展程序. 打开vs2017,创建时,却提示 不能创建项目(创建项目失败,Project cannot be created).原本以为很顺利的,不相处了 ...