Testing Requests based SDKsΒΆ
If a prebuilt SDK is available for your target system, Locust has a supported pattern for integrating its usage into your load testing efforts.
The only prerequisite to achieve this is that the SDK needs to have an accessible request.Sessions
class.
The following example shows the locust client overwriting the internal _session
object of Archivist
SDK
during startup.
import locust
from locust.user import task
from archivist.archivist import Archivist # Example SDK under test
class ArchivistUser(locust.HttpUser):
def on_start(self):
AUTH_TOKEN = None
with open("auth.text") as f:
AUTH_TOKEN = f.read()
# Start an instance of of the SDK
self.arch: Archivist = Archivist(url=self.host, auth=AUTH_TOKEN)
# overwrite the internal _session attribute with the locust session
self.arch._session = self.client
@task
def Create_assets(self):
"""User creates assets as fast as possible"""
while True:
self.arch.assets.create(behaviours=["Builtin", "RecordEvidence", "Attachments"], attrs={"foo": "bar"})