Есть ли способ повторить то же, что происходит в почтальоне с помощью саранчи
Я пытаюсь опубликовать запрос от почтальона, используя данные формы, в разделе тела, где я загружаю файл CSV и строку JSON, на что я получаю ответ от почтальона. Я хотел бы повторить то же самое в саранче, чтобы выполнить нагрузочное тестирование, когда я не смогу загрузить файл, когда получаю ошибку.
Ошибка значения: данные не должны быть строкой.
Ниже приведен фрагмент кода
def project(self):
headers = {'content-type': 'application/json', 'X-ACCESS-TOKEN': 'XXXXXXXXXXXXXXXXX'}
files = [('params_file', ('All_params.csv', open('All_params.csv', 'rb'), 'text/csv'))]
payload = {"df_params":{"geography":"United Arab Emirates","currency":"United Arab Emirates dirham"}}
res = self.client.post("/api/project/setup", headers=headers, data=json.dumps(payload), files=files, catch_response=True)
response = res.content.decode('utf-8')
self.response_api = json.loads(response)
print(self.response_api)
res.raise_for_status()
1 ответ
Я думаю, вы можете попробовать что-то вроде этого
from locust import HttpLocust, TaskSet, task
class WebsiteTasks(TaskSet):
@task
def setup(self):
headers = {'content-type': 'application/json', 'X-ACCESS-TOKEN': 'XXXXXXXXXXXXXXXXX'}
files = [('params_file', ('All_params.csv', open('All_params.csv', 'rb'), 'text/csv'))]
payload = {"df_params":{"geography":"United Arab Emirates","currency":"United Arab Emirates dirham"}}
response = self.client.post("/api/project/setup", headers=headers, data=json.dumps(payload), files=files, catch_response=True)
response.raise_for_status()
class WebsiteUser(HttpLocust):
task_set = WebsiteTasks
min_wait = 5000
max_wait = 15000
И запустить использовать $ locust -f locustfile.py
Ссылка: https://locust.io/