Locust:如何通过API调用测试

bin*_*thb 8 python load-testing locust

我想通过API调用Locust负载测试,以便能够从CI工具启动测试.

我没有看到关于这种情况的大量文档,在locust API文档中没有"Runner"或类似的类.

我检查了在Windows中安装后可用的"locust"命令.它是一个.exe,因此不确定它的作用以及它是如何实际开始测试的

所以,具体问题是,是否存在从另一个Python程序开始测试的接口

hey*_*man 6

目前,除命令行界面外,没有用于控制蝗虫的文档API.CLI可用于开始运行负载测试,但目前无法在没有Web UI的情况下运行分发的locust.

您还可以将Web UI用作API,并从您的程序中自己发出浏览器发送到Web UI的HTTP请求.

在Windows中创建的locust.exe文件(由python的setuptools创建)只是一个将main()locust/main.py中运行的小包装器


tim*_*irg 5

只需在蝗虫Web UI中执行操作,然后在python中执行此操作.

如果您在蝗虫UI中监视网络,您会注意到调用一个swarm只是一个127.0.0.1:8089/swarm带有两个参数的GET请求,locust_count并且hatch_rate.

回答你的问题,这是你要求的api和例子:

import requests

payload = {
'locust_count': 12,
'hatch_rate': 22,
}

res = requests.get('http://127.0.0.1:8089/swarm', params=payload)
print(res.json())
Run Code Online (Sandbox Code Playgroud)

没有测试它,让我知道它是否不起作用.