Я пытаюсь преобразовать некоторые классы для Locust из статически определенных в динамические.
Статическое определение выглядит так:
class TaskGet(TaskSet):
@task()
def get_method(self):
self.client.get(path)
class TestLogicGet(HttpLocust):
task_set = TaskGet
, который вызывается с использованием global path
variable.
Причина, по которой я хочу создать их динамически, заключается в том, что в настоящее время существует 50 их определений:)
Поэтому мне удалось создать следующую логику, которая работает:
def get_method(self, path="/"):
self.client.get(path)
def main():
TaskGetDynamic = type('TaskGetDynamic', (TaskSet,), {'get_method': task(get_method)})
TestLogicGetDynamic = type('TestLogicGetDynamic', (HttpLocust,), {'task_set': TaskGetDynamic})
но у меня возникают проблемы при назначении значения, отличного от значения по умолчанию, для аргумента path
функции get_method
...
У вас, ребята, есть мысли о том, как это можно сделать?