在 Python 中,如何使用 Locust 和 Requests 包?

Posted

技术标签:

【中文标题】在 Python 中,如何使用 Locust 和 Requests 包?【英文标题】:In Python, how to use Locust and Requests package? 【发布时间】:2018-10-09 20:47:56 【问题描述】:

我不太确定如何具体地形成这个问题,所以希望它会有意义..

我有一个使用 requests 包的 http 客户端,现在我想使用 locust 运行负载测试。

要正确使用 Locust,看来我应该扩展 HttpLocust,它使用 locust 的 client 来处理 http 请求,但我的班级已经有自己的客户端,可以发出请求。

所以我不确定如何使用 locust.. 我应该只使用 Locust 类而忘记 HttpLocust 吗?

您是否使用 Requests 包创建了 Locust 测试?有什么指点吗?

您推荐任何其他 python http 负载测试框架吗?

【问题讨论】:

从 Locust 链接的要点来看,听起来您会想要扩展 HttpLocust 类。 Locust 听起来像是用于非 http 命中(想到 TCP,数据库连接)。但是,您似乎“不能”使用客户端附加到 Locust 类。只是想发表评论表示感谢。我也在寻找一个负载测试框架。以前没听说过这个。 只需在 locustfile 中创建您的客户端。 【参考方案1】:

HttpLocust 类已经使用了 requests 包,所以你可以使用它来代替你的客户端。

如果你想使用你的客户端,你应该扩展 Locust 类。例如:

class MyHttpLocust(Locust):
    def __init__(self):
        super(MyHttpLocust, self).__init__()
        if not self.host:
            raise LocustError('host is missing')

        self.client = MyHttpClient(self.host)

【讨论】:

以上是关于在 Python 中,如何使用 Locust 和 Requests 包?的主要内容,如果未能解决你的问题,请参考以下文章

python3.5安装locust遇到的问题总结

Locust如何测试物联网MQTT

如何使用优秀的性能测试工具Locust?我们找了大神来做实战演示!忍不住收藏!

Python+locust做性能测试 ====locust版本更新(HttpUser)

如何使用带有 locust 的 pythons 请求模块来加载测试一堆 api

使用 xlsx 文件对 Locust 进行负载测试