Как передать параметры входа в запрос artillery.io - PullRequest
0 голосов
/ 23 октября 2019

Я начал использовать 'Artillery.io для нагрузочного тестирования. Здесь, как передать параметры аутентификации, такие как email, password в load-test.yml, ниже выдает 401 несанкционированную ошибку при отправке запроса. Может кто-нибудь подсказать мне, как передать параметры аутентификации, такие как email and password

config:
  target: 'https://test-url.com'
  phases:
    - duration: 70
      arrivalRate: 10
  defaults:
    headers:
      Content-Type: application/json

scenarios:
  - flow:
    - get:
        url: /findAMembership
        headers:
          Content-Type: application/json
    - post:
        url: /auth
        body:  '{"username":"test@test.com", "password": "some_testpassword"}'
        headers:
          Content-Type: application/json

1 Ответ

0 голосов
/ 25 октября 2019

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

Во-первых, по поводу проблемы 401, я думаю, ваш запрос не соответствует аутентификации. требования к конечной точке. Пожалуйста, проверьте конечную точку. (например, как сделать auth обычным способом?)

Я предполагаю, что конечная точка принимает запрос json (username и password) и ответ Bearer token, вы можетепопробуйте это (используйте json вместо body и определите key-value):

- post:
    url: "/auth"
    json:
      username: "test@test.com"
      password: "some_testpassword"
    headers:
      Content-Type: "application/json" # no need this, you have specified the default Content-Type
    capture:
      json: "$.token"
      as: "token" # Should have this, read below

И просто заметка, вы отправили запрос auth и ничего не получили от него,что не имеет смысла. Не забудьте захватить ответ (например, Bearer token и т. Д.) Для создания цепочки запросов, требующих аутентификации. Читать дальше

...