Locust错误:HTTPError(u'405客户端错误:URL:https://..../login')不允许

2022-05-17 00:00:00 python load-testing locust

问题描述

我正在尝试对Web服务器进行负载测试,但我使用self.client.verify = False禁用了该站点的SSL证书。

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
现在有一个错误,内容是:

有人能帮我纠正这个错误吗?谢谢!


解决方案

您需要将词典转储为字符串

显式:

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

或隐式使用json参数:

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

(编辑后,一开始我以为问题出在双斜杠上)

相关文章