带有文件的蝗虫测试有效负载
Posted
技术标签:
【中文标题】带有文件的蝗虫测试有效负载【英文标题】:Locust Test payload with files 【发布时间】:2020-08-02 05:41:20 【问题描述】:这是我的第一个问题,我想知道如何将以下测试参数发送到我的 FastAPI API:
to: (string)
name: (string)
files: (array)
什么是正确的语法?我正在尝试以下方法:
self.client.post ("/ email", dict (to = "", name = "", files = "hi.pdf"))
【问题讨论】:
根据docs.locust.io/en/v0.5.1/writing-a-locustfile.html,它看起来是正确的(斜线后面的空格除外)。您可能希望将其修改为 from locust import ResponseError with self.client.post("/email", dict (to = "", name = "", files = "hi.pdf"), catch_response=True) 为response: if response.data == "fail": raise ResponseError("Failed to post") 【参考方案1】:这是关于 post
请求的 Locust 文档。 https://docs.locust.io/en/stable/api.html#locust.clients.HttpSession.post
Locust 的 http 类基于 requests。有multiple ways to do it。一种方法是直接读取文件并自行发布:
with open("hi.pdf", "rb") as hi:
self.client.post("/email", data=hi.read())
我不熟悉 FastAPI,所以我不知道您的 to
和 name
需要去哪里。如果它们是标题,您可以这样做:
with open("hi.pdf", "rb") as hi:
self.client.post("/email", data=hi.read(), headers="to": "", "name": "")
【讨论】:
以上是关于带有文件的蝗虫测试有效负载的主要内容,如果未能解决你的问题,请参考以下文章