我目前正在使用环境变量将自定义参数传递给我的负载测试。例如,我的测试类看起来像这样:
from locust import HttpLocust, TaskSet, task
import os
class UserBehavior(TaskSet):
@task(1)
def login(self):
test_dir = os.environ['BASE_DIR']
auth=tuple(open(test_dir + '/PASSWORD).read().rstrip().split(':'))
self.client.request(
'GET',
'/myendpoint',
auth=auth
)
class WebsiteUser(HttpLocust):
task_set = UserBehavior
然后我正在运行我的测试:
locust -H https://myserver --no-web --clients=500 --hatch-rate=500 --num-request=15000 --print-stats --only-summary
是否有更多locust
方法可以将自定义参数传递给locust
命令行应用程序?
答案 0 :(得分:6)
您可以使用类似env <parameter>=<value> locust <options>
并在蝗虫脚本中使用<parameter>
来使用其值
如,
env IP_ADDRESS=100.0.1.1 locust -f locust-file.py --no-web --clients=5 --hatch-rate=1 --num-request=500
并在locust脚本中使用IP_ADDRESS来访问其值,在这种情况下为100.0.1.1。
答案 1 :(得分:0)
如果要以高并发性进行测试,建议不要在命令行中运行locust。与--no-web
模式一样,您只能使用一个CPU核心,因此无法充分利用您的测试机器。
回到你的问题,没有其他方法可以在命令行中将自定义参数传递给locust
。