Python locust.TaskSet() Examples
The following are 6
code examples of locust.TaskSet().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
locust
, or try the search function
.
Example #1
Source File: locustfile.py From edx-load-tests with Apache License 2.0 | 5 votes |
def is_child(self): """ Return True if this TaskSet is a child of another TaskSet """ return isinstance(self.parent, TaskSet)
Example #2
Source File: LMS_user_tasks.py From edx-load-tests with Apache License 2.0 | 5 votes |
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")
Example #3
Source File: authentication.py From edx-load-tests with Apache License 2.0 | 5 votes |
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")
Example #4
Source File: base.py From edx-load-tests with Apache License 2.0 | 5 votes |
def _is_child(self): """ Returns True if the parent of this TaskSet instance is another TaskSet. """ return isinstance(self.parent, TaskSet)
Example #5
Source File: base.py From edx-load-tests with Apache License 2.0 | 5 votes |
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()
Example #6
Source File: test_locust.py From transformer with MIT License | 4 votes |
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()