首页 > 解决方案 > Taurus 用户如何传入 Content-Type 和 base64 值?

问题描述

我正在尝试分配一个用户值,它是 base64 字符和 Content-Type,它是“application/x-www-form-urlencoded”。在我的邮递员中,内容类型在标题下,用户在正文下。因此,我构建了我的 yaml 脚本,如下所示:

execution:
  - concurrency: 10
    ramp-up: 20S
    hold-for: 1m
    scenario: sample

scenarios:
  sample:
    requests:
      - url: 'https://www.mtn.com/umbraco/surface/loginsurface/authenticate'
        method: POST
        headers:
          Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, application/x-www-form-urlencoded'
        Body:
          user: 'YWFkaWwuaaa2hhbkBzb3RpLdDpXZWxjb21lMTIzNA=='

但是,当我运行 Taurus 时,这不起作用。语法错了吗?

标签: base64yamlperformance-testingcontent-typetaurus

解决方案


  1. 根据Taurus 文档

    如您所知,JSON 是 YAML 的子集

    所以 Taurus 支持 JSON 和 YAML 配置文件

  2. 根据JSON 规范

    所有名称等都区分大小写。因此,符合要求的实现必须将所有名称视为区分大小写,例如名称“bar”和“BAR”将被视为两个不同的实体。

  3. 进一步查看有关 YAML格式的 Taurus 文档:

    字典是key: value映射的集合。所有键都区分大小写。

    因此,您只需将您的转换Body为小写,一切都应该按预期开始工作(或至少导致以下 JMeter 配置)

    在此处输入图像描述

完整的 YAML 以防万一:

execution:
  - concurrency: 10
    ramp-up: 20S
    hold-for: 1m
    scenario: sample

scenarios:
  sample:
    requests:
      - url: 'https://www.mtn.com/umbraco/surface/loginsurface/authenticate'
        method: POST
        headers:
          Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, application/x-www-form-urlencoded'
        body:
          user: YWFkaWwuaaa2hhbkBzb3RpLdDpXZWxjb21lMTIzNA==

您始终可以通过运行 Taurus来打开 JMeter GUI ,例如:

bzt test.yaml -gui

或者

bzt -o modules.jmeter.gui=true test.yaml

这样就更容易检查生成的脚本。

更多信息:


推荐阅读