如何将自定义参数传递给蝗虫测试类?

时间:2015-03-09 20:48:51

标签: locust

我目前正在使用环境变量将自定义参数传递给我的负载测试。例如,我的测试类看起来像这样:

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命令行应用程序?

2 个答案:

答案 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