Не удается получить ответ 200 от API, выполняющего публикацию с использованием locustio - PullRequest
0 голосов
/ 08 января 2020

Я использую Locust, чтобы попытаться выполнить нагрузочный тест. Я не могу получить хороший (200) ответ от API, который мы используем. Это постоянно дает мне:

{
  "message": "Invalid API key",
  "status": 400
}

Однако, использование той же информации, которую я использую для Locust в Postman, дает правильный ответ. Пост является межсайтовым постом, поэтому он не собирается на хост, определенный для саранчи. Я заменил любую конфиденциальную информацию на Redacted. Так что я делаю не так? Любая помощь приветствуется.

Пример кода:

targetURL = 'https://Redacted, name=https:Redacted'

searchBody1 = {"params": "facets=%5B%22Property%20Type%22%2C%22amenities.Property%20Amenities%22%2C%22amenities.Suitability%22%2C%22amenities.Area%20Activities%22%2C%22Bedrooms%22%2C%22Total%20Beds%22%2C%22Bathrooms%22%5D&hitsPerPage=0"}

searchHeader1 = {'Host': 'Redacted',
    'Connection': 'keep-alive',
    'Content-Length': '223',
    'accept': 'application/json',
    'Origin': 'Redacted',
    'User-Agent': 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G930U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36',
    'content-type': 'application/x-www-form-urlencoded',
    'Sec-Fetch-Site': 'cross-site',
    'Sec-Fetch-Mode': 'cors',
    'Referer': 'Redacted',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'en-US,en;q=0.9'}

response = self.client.post(url=targetURL, json=searchBody1, headers=searchHeader1, catch_response=True)

1 Ответ

0 голосов
/ 09 января 2020

Вы устанавливаете параметр url буквально равным 'https://Redacted, name = https:Redacted'. Python не расширит это до двух разных параметров, как вы, вероятно, предполагали.

Вы должны указать имя в качестве независимого параметра при вызове post (), например:

self.client.post(url='https://Redacted', name='your_short_name', ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...