带有文件的蝗虫测试有效负载

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,所以我不知道您的 toname 需要去哪里。如果它们是标题,您可以这样做:

with open("hi.pdf", "rb") as hi:
    self.client.post("/email", data=hi.read(), headers="to": "", "name": "")

【讨论】:

以上是关于带有文件的蝗虫测试有效负载的主要内容,如果未能解决你的问题,请参考以下文章

蝗虫负载测试 - 将孵化率从 1 秒更改为 20 秒? (每 20 秒 1 只蝗虫)

如何在分布式蝗虫负载测试中提高 RPS

locust性能测试安装

负载/压力测试角度应用程序

Locust性能测试1-环境准备与基本使用

如何解释蝗虫响应时间