Locust WebUI无法覆盖自定义参数默认值问题求助(Locust2.43.0/Python3.14.2)
问题原因及解决方法
你的问题出在参数获取的位置:environment.parsed_options仅在Locust启动时解析一次命令行参数,WebUI中修改的参数值不会同步更新到这个对象里。而udv_var2能正常获取WebUI的值,是因为它的默认值是None,WebUI设置的值会直接覆盖这个空值;但udv_var1的默认值是具体字符串,parsed_options会一直保留启动时的默认值,不会被WebUI的修改覆盖。
解决方法很简单,把获取参数的对象从parsed_options换成environment.config,修改后的代码如下:
@events.test_start.add_listener def _(environment, **kw): print(f"Custom argument supplied: {environment.config.udv_var1}") print(f"Custom argument supplied: {environment.config.udv_var2}")
environment.config会实时包含WebUI修改后的参数值,不管参数有没有默认值,都能正确获取到最新设置。
内容的提问来源于stack exchange,提问作者jkhouw1
相关产品推荐
相关产品推荐

