如何在我的 locustfile.py 中将一些输入传递给我的 Flask AI API
Posted
技术标签:
【中文标题】如何在我的 locustfile.py 中将一些输入传递给我的 Flask AI API【英文标题】:How to pass some input to my Flask AI API in my locustfile.py 【发布时间】:2020-09-25 11:34:53 【问题描述】:我想使用 Locust 对我的 NLP Web 应用程序进行负载测试。该网站很简单,用户只需要输入他们的文本及其语言类型,然后结果就会显示在下一页。
因此,我想让我的“蝗虫”先在索引页面上传入两个值,然后再去对应的页面,这应该是快速和简单的。但是我的代码不起作用,并且错误消息写道 GET POST 方法有问题(HTTP 405 & HTTP 500 错误)。谁能帮我检查一下我的代码?
from locust import HttpUser, TaskSet, between, task, SequentialTaskSet
class UserBehavior(SequentialTaskSet):
@task
def submit(self):
self.client.post('/', 'text': 'Kobe Bryant is the best NBA player.', 'language': 'en')
@task
def get_boto(self):
self.client.get('/boto')
class WebsiteUser(HttpUser):
tasks = [UserBehavior]
wait_time = between(1, 2)
【问题讨论】:
【参考方案1】:可能是在发布请求之前,数据用户必须登录?
class UserBehavior(SequentialTaskSet):
def on_start(self):
self.client.post("/login",
"username": "test_user",
"password": ""
)
【讨论】:
【参考方案2】:405
听起来您可能没有以正确的方式发送请求,可能使用了错误的动词。我会使用调试代理(如Charles Proxy)在您完成流程时记录您网站的流量,以便您了解请求的结构和预期方式。然后我会创建一个新的单独的 Python 文件并尝试使用 Requests 来让某些东西成功运行(查看 Python : Trying to POST form using requests 以获取 POST
示例)。 Locust 的 HttpUser.client
是基于请求的,所以一旦你让单独的 Python 文件工作并做你想做的事,你应该能够插入相同的调用并将 request
或 session
替换为 self.client
并且它应该可以工作.
【讨论】:
以上是关于如何在我的 locustfile.py 中将一些输入传递给我的 Flask AI API的主要内容,如果未能解决你的问题,请参考以下文章