Как передать значение Content-Type и base64 как пользователя в Тельце? - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь присвоить пользовательское значение, которое равно base64 символам, и Content-Type, который является "application / x-www-form-urlencoded".В моем почтальоне Content-Type находится под заголовками, а пользователь под телом.Поэтому я структурировал свой скрипт 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=='

Однако это не работает, когда я работаю в Тельце.Синтаксис неправильный?

1 Ответ

0 голосов
/ 30 сентября 2019
  1. Согласно документации Taurus

    Как вы знаете, JSON является подмножеством YAML

    , поэтому Taurus поддерживаетКонфигурационные файлы JSON и YAML

  2. В соответствии со спецификацией JSON

    Все имена и т. д. чувствительны к регистру.Следовательно, соответствующие реализации ДОЛЖНЫ обрабатывать все имена как чувствительные к регистру, так что имена «bar» и «BAR» будут рассматриваться как две различные сущности.

  3. Подробнее Документация по Тельцу в формате YAML :

    Словари являются коллекциями key: value отображений.Все ключи чувствительны к регистру.

    Поэтому вам просто нужно преобразовать Body в строчные буквы, и все должно начать работать как положено (или, по крайней мере, привести к следующей конфигурации JMeter)

    enter image description here

Полный 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==

Вы всегда можете открыть JMeter GUI с помощьюзапустив Телец, как:

bzt test.yaml -gui

или

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

таким образом, будет легче проверить сгенерированный скрипт.

Дополнительная информация:

...