Ошибка саранчи: HttpError (ошибка клиента u'405: для URL не разрешено: https://..../login ') - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь выполнить нагрузочное тестирование веб-сервера, и я отключил ssl-сертификат для этого сайта, используя self.client.verify = False.

from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):

    def on_start(self):
        self.client.verify = False

    @task(1)
    def options(self):
        self.client.options('//oauth/token')

    @task(2)
    def login(self):
        self.client.post("//oauth/token", {"username":"admin","password":"password","provider":"users","grant_type":"password","client_id":2,"client_secret":"somethinghere","scope":"*"})

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
    max_wait = 9000

. Теперь появляется сообщение об ошибке: locu

Может кто-нибудь помочь мне с этой ошибкой? Спасибо!

Ответы [ 2 ]

1 голос
/ 10 января 2020

Вам нужно вывести dict в строку

Либо явно:

self.client.post("//oauth/token", json.dumps({”username”...

Или неявно, используя параметр json:

self.client.post("//oauth/token", json={”username”...

( отредактировал, сначала думал, что проблема в двойных слешах)

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

json .dumps (data) - это решение.

@task
def login(self):
    self.client.post("//oauth/token", data=json.dumps({"username":"admin","password":"password","provider":"users","grant_type":"password","client_id":2,"client_secret":"somethinghere","scope":"*"}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...