Есть ли способ повторить то же, что происходит в почтальоне с помощью саранчи - PullRequest
0 голосов
/ 11 января 2019

enter image description here Я пытаюсь опубликовать запрос от почтальона, используя данные формы в разделе тела, где я загружаю 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 Ответ

0 голосов
/ 11 января 2019

Я думаю, вы можете попробовать что-то вроде этого

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...