python - 如何以编程方式调用 Locust 测试?

标签 python python-2.7 locust

在我的本地主机 (127.0.0.1:8089) 上尝试使用 Locust,但它给出了 400 bad request 错误:

import requests

response = requests.post('http://127.0.0.1:8089/swarm', params={"locust_count":10, "hatch_rate":5})
print response.text

回应:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>

我已验证 http://127.0.0.1:8089/确实是通过浏览器浏览起来的。 locustfile.py 的代码可在 this post 获取。 .

最佳答案

我发现这个解决方案最简单:

import os
from locust.main import main


def run_locust(**kwargs):
    os.environ['LOCUST_HOST'] = kwargs.get('LOCUST_HOST')
    os.environ['LOCUST_RUN_TIME'] = kwargs.get('LOCUST_RUN_TIME', '1m')
    os.environ['LOCUST_NO_WEB'] = str(kwargs.get('LOCUST_NO_WEB', True))
    os.environ['LOCUST_LOCUSTFILE'] = kwargs.get('LOCUST_LOCUSTFILE')
    os.environ['LOCUST_CLIENTS'] = str(kwargs.get('LOCUST_CLIENTS'))
    os.environ['LOCUST_HATCH_RATE'] = str(kwargs.get('LOCUST_HATCH_RATE'))
    main()

根据 Locust 文档,配置参数也可以作为环境变量传递。因此,我们可以像上面的示例中所示那样使用它们。

首先,我们使用 os.environ[<variable_name>] 设置所需的环境变量其次,我们运行locust main()的main函数.

文档:https://docs.locust.io/en/stable/configuration.html#all-available-configuration-options

关于python - 如何以编程方式调用 Locust 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397580/

相关文章:

保存图像时 Python Pillow 编码器错误 -2

python - 蝗虫 : How to make locust run for a specific amount of time

python - 从两个不同的 Linux 发行版运行 python locust 脚本时出错

python - 如何更改程序中的变量

python - 是否有可能在 numpy 中使用高级列表切片并仍然获得 View ?

python - 为什么这个python autobahn代码需要使用 'yield'关键字?

python - 如何在单台机器上使用多处理运行 Locust

python - 在正则表达式 python 上分割两个字符串,但包含使用 re.split 并返回一个列表

python - 将一系列 dict 和 concat 转换为数据帧

python - 静态方法语法困惑