Locust отвечает 2xx, но не может собрать статистику запросов - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь провести локальное нагрузочное тестирование с помощью Locust. Я запустил тестовую среду, также работает локальная сборка. Я пытаюсь проверить ответы локального пути, и ответ, который я получаю в терминале, правильный. Но пользовательский интерфейс Locust, а также статистика после завершения теста дают мне 100% -ные результаты. Это код для саранчи:

from locust import HttpLocust, TaskSet, task, between 
import requests

url = "http://localhost:8080/registry/downloadCounter"
payload = "[\n    {\n        \"appName\": \"test-app\",\n        \"appVersion\": \"1.6.0\"\n    }\n]"

class MyTaskSet(TaskSet):

    @task(2)
    def index(self):
        self.client.get("")
        headers = {
        'Content-Type': 'application/json',
        'Accept':'application/json'
        }
        response = requests.request("POST", url, headers=headers, data = payload)

        print(response.text.encode('utf8'))

class MyLocust(HttpLocust):
    task_set = MyTaskSet
    wait_time = between(2.0, 4.0)

Для стаи саранчи я использовал только базовые c числа: Общее количество пользователей для моделирования: 1 Скорость вылупления: 3 Хост: http://localhost: 8080 / registry / downloadCounter

Я не получаю никаких результатов, таблица остается пустой. Я предполагаю, что это как-то связано с форматом json, но я не могу найти решение самостоятельно.

Я также поместил снимок экрана с ответом Терминала после завершения в этом посте.

Заранее благодарим Вас за помощь!

С уважением

enter image description here

1 Ответ

0 голосов
/ 11 мая 2020

Это помогло:

from locust import HttpLocust, TaskSet, task, between 
import requests

url = "http://localhost:8080/registry/downloadCounter"
payload = "[\n    {\n        \"appName\": \"test-app\",\n        \"appVersion\": \"1.6.0\"\n    }\n]"
headers = {'Content-type':'application/json', 'Accept':'application/json'}

class MyTaskSet(TaskSet):

    @task(2)
    def index(self):
        response = self.client.post(url = url, data = payload, headers=headers)

        print(response.text.encode('utf8'))
        print(response.status_code)


class MyLocust(HttpLocust):
    task_set = MyTaskSet
    wait_time = between(2.0, 4.0)
```
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...