本文整理匯總了Python中locust.TaskSet方法的典型用法代碼示例。如果您正苦於以下問題:Python locust.TaskSet方法的具體用法?Python locust.TaskSet怎麽用?Python locust.TaskSet使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類locust
的用法示例。
在下文中一共展示了locust.TaskSet方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: is_child
# 需要導入模塊: import locust [as 別名]
# 或者: from locust import TaskSet [as 別名]
def is_child(self):
"""
Return True if this TaskSet is a child of another TaskSet
"""
return isinstance(self.parent, TaskSet)
示例2: on_start
# 需要導入模塊: import locust [as 別名]
# 或者: from locust import TaskSet [as 別名]
def on_start(self):
"""Raise an exception. This TaskSet is not meant to be run on its own."""
raise Exception("This TaskSet is not meant to be run")
示例3: _is_child
# 需要導入模塊: import locust [as 別名]
# 或者: from locust import TaskSet [as 別名]
def _is_child(self):
"""
Returns True if the parent of this TaskSet instance is another TaskSet.
"""
return isinstance(self.parent, TaskSet)
示例4: on_start
# 需要導入模塊: import locust [as 別名]
# 或者: from locust import TaskSet [as 別名]
def on_start(self):
if not self.locust._is_registered:
self.auto_auth(params={'no_login': True})
# If we failed to register the user, and this TaskSet is a child of the main LmsTest TaskSet, interrupt so
# that we can select another TaskSet and try to register again.
#
# NOTE: this is basically a retry mechanism without backoff, so it may behoove us to add delays to this
if self._is_child and not self.locust._is_registered:
self.interrupt()
if self.locust._is_registered and not self.locust._is_logged_in:
self.login()
# If we failed to log in, and this TaskSet is a child of the main LmsTest TaskSet, interrupt so
# that we can select another TaskSet and try to log in again.
#
# NOTE: this is basically a retry mechanism without backoff, so it may behoove us to add delays to this
if self._is_child and not self.locust._is_logged_in:
self.interrupt()
if self.locust._is_logged_in and not self.locust._is_enrolled:
self.enroll(self.course_id)
# If we failed to enroll, and this TaskSet is a child of the main LmsTest TaskSet, interrupt so
# that we can select another TaskSet and try to enroll again.
#
# NOTE: this is basically a retry mechanism without backoff, so it may behoove us to add delays to this
if self._is_child and not self.locust._is_enrolled:
self.interrupt()
示例5: test_it_renders_a_locustfile_template
# 需要導入模塊: import locust [as 別名]
# 或者: from locust import TaskSet [as 別名]
def test_it_renders_a_locustfile_template(self):
a_name = "some_task"
a_request = MagicMock(spec=Request)
a_request.method = HttpMethod.GET
a_request.url = MagicMock(spec=SplitResult)
a_request.url.scheme = "some_scheme"
a_request.url.hostname = "some_hostname"
a_request.url.path = "some_path"
a_request.url.geturl()
a_request.url.geturl.return_value = "some_url"
a_request.headers = {"a": "b"}
a_request.name = None
task = Task(a_name, a_request)
scenario = Scenario(name="SomeScenario", children=[task], origin=None)
scenario_group = Scenario(
name="ScenarioGroup", children=[scenario], weight=2, origin=None
)
script = locustfile([scenario_group])
expected = string.Template(
f"""
# File automatically generated by Transformer v{__version__}:
# https://github.com/zalando-incubator/Transformer
import re
from distutils.version import LooseVersion
from locust import __version__
LOCUST_MAJOR_VERSION = LooseVersion(__version__).version[0]
if LOCUST_MAJOR_VERSION >= 1:
from locust import HttpUser
from locust import SequentialTaskSet
from locust import TaskSet
from locust import task
HttpLocust = HttpUser
TaskSequence = SequentialTaskSet
def seq_task(_):
return task
else:
from locust import HttpLocust
from locust import TaskSequence
from locust import TaskSet
from locust import seq_task
from locust import task
class ScenarioGroup(TaskSet):
@task(1)
class SomeScenario(TaskSequence):
@seq_task(1)
def some_task(self):
response = self.client.get(url='some_url', name='some_url', timeout=$TIMEOUT, allow_redirects=False, headers={{'a': 'b'}})
class LocustForScenarioGroup(HttpLocust):
if LOCUST_MAJOR_VERSION >= 1:
tasks = [ScenarioGroup]
else:
task_set = ScenarioGroup
weight = 2
min_wait = 0
max_wait = 10
"""
).safe_substitute({"TIMEOUT": TIMEOUT})
assert expected.strip() == script.strip()