Locust-plugins; Uncaught exception in event handler: TypeError: fire_deprecated_request_handlers() missing 1 required positional argument: 'context'
Locust-plugins; Uncaught exception in event handler: TypeError: fire_deprecated_request_handlers() missing 1 required positional argument: 'context'
我已经构建了一个可用的 locust-plugins 网络驱动程序脚本,并试图添加一些事务性计时器,当我 运行 该脚本时,我遇到了一个错误:
[2022-01-03 10:34:55,525] LHTU05CD943125T/ERROR/root:事件处理程序中未捕获的异常:
追溯(最近一次通话):
文件“C:\Program Files (x86)\Python38-32\lib\site-packages\locust\event.py”,第 40 行,在火中
处理程序(** kwargs)
类型错误:fire_deprecated_request_handlers() 缺少 1 个必需的位置参数:'context'
脚本继续 运行 但在每次事件调用时我都会看到上述错误。
我正在使用 locust 2.5.1 版和 locust-plugins 2.1.1 版。
@task
def open_digipass_homepage(self):
self.clear()
# CALL THIS ONCE
start_time = time.monotonic()
self.client.get("https://myurl-stage.com/")
self.environment.events.request.fire(
request_type="transaction",
name="T000_SitePage",
response_time=(time.monotonic() - start_time) * 1000,
response_length=0,
exception=None
)
您的 self.environment.events.request.fire
调用缺少它期望的参数 context
。这可能是也可能不是错误(不确定是否需要这样的东西,如果是的话),但您应该能够解决它。这是事件签名的文档:
http://docs.locust.io/en/stable/api.html#locust.event.Events.request
链接到此页面的上下文应该是什么:
http://docs.locust.io/en/stable/extending-locust.html#request-context
看起来这是一本字典,里面有你想传递的任何东西。基于 some code in the tests,我认为即使只添加 context={}
到您的电话也应该有效。像这样:
self.environment.events.request.fire(
request_type="transaction",
name="T000_SitePage",
response_time=(time.monotonic() - start_time) * 1000,
response_length=0,
exception=None,
context={}
)
我已经构建了一个可用的 locust-plugins 网络驱动程序脚本,并试图添加一些事务性计时器,当我 运行 该脚本时,我遇到了一个错误:
[2022-01-03 10:34:55,525] LHTU05CD943125T/ERROR/root:事件处理程序中未捕获的异常: 追溯(最近一次通话): 文件“C:\Program Files (x86)\Python38-32\lib\site-packages\locust\event.py”,第 40 行,在火中 处理程序(** kwargs) 类型错误:fire_deprecated_request_handlers() 缺少 1 个必需的位置参数:'context'
脚本继续 运行 但在每次事件调用时我都会看到上述错误。 我正在使用 locust 2.5.1 版和 locust-plugins 2.1.1 版。
@task
def open_digipass_homepage(self):
self.clear()
# CALL THIS ONCE
start_time = time.monotonic()
self.client.get("https://myurl-stage.com/")
self.environment.events.request.fire(
request_type="transaction",
name="T000_SitePage",
response_time=(time.monotonic() - start_time) * 1000,
response_length=0,
exception=None
)
您的 self.environment.events.request.fire
调用缺少它期望的参数 context
。这可能是也可能不是错误(不确定是否需要这样的东西,如果是的话),但您应该能够解决它。这是事件签名的文档:
http://docs.locust.io/en/stable/api.html#locust.event.Events.request
链接到此页面的上下文应该是什么:
http://docs.locust.io/en/stable/extending-locust.html#request-context
看起来这是一本字典,里面有你想传递的任何东西。基于 some code in the tests,我认为即使只添加 context={}
到您的电话也应该有效。像这样:
self.environment.events.request.fire(
request_type="transaction",
name="T000_SitePage",
response_time=(time.monotonic() - start_time) * 1000,
response_length=0,
exception=None,
context={}
)