• 新的JSON / YAML插件:在JMeter中使用YAML


    在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_matchNrto_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放在下面的框中,您的测试将在几分钟内开始。

  • 相关阅读:
    【代码笔记】iOS-JQIndicatorViewDemo
    【代码笔记】iOS-plist获得城市列表
    【代码笔记】iOS-HTTPQueue下载图片
    【代码笔记】iOS-请求去掉url中的空格
    【代码笔记】iOS-collectionView实现照片删除
    【代码笔记】iOS-自定义loading(IanAlert)
    Foundation框架-NSCalendar
    iOS Xcode全面剖析
    Mac下Git的基础操作
    iOS开发UI篇—常见的项目文件介绍
  • 原文地址:https://www.cnblogs.com/a00ium/p/10295154.html
Copyright © 2020-2023  润新知