首页 > 解决方案 > 如何使用带有 locust 的 pythons 请求模块来加载测试一堆 api

问题描述

我有一个现有的 api 测试框架,它使用python3 的请求模块。我决定使用locust模块使用相同的框架对我的 api 进行负载测试。据我了解,蝗虫使用自己的客户端进行 api 调用。

有没有办法可以将 pythons requests 模块与蝗虫一起使用?这样我就不必再次为蝗虫编写相同的代码(使用它自己的客户端)

请注意,在 gui 和非 gui 模式下,将 requests 模块与 locust 一起使用确实会进行 api 调用,但不会捕获响应时间(进行负载测试时的主要内容)。

标签: python-3.xlocust

解决方案


我想你误解了,Locust 没有实现自己的 HTTP 客户端。

LocustUser类只是为其他客户端和最常用的一个(HttpUser)提供了一个包装器requests

因此,如果您在 HttpUser 子类中调用(例如)self.client.request("GET", "someurl"),您实际上将调用requests.

https://docs.locust.io/en/stable/api.html#httpuser-class


推荐阅读