Overview
Certain applications require a request in order to get an authentication token. This is common with APIs or SPAs.
With LoadForge you can easily set any headers you need by tweaking your get() or post() calls to include a header set.
Below is a partial test (just the on_start
section) that shows how to set an authorization (or really any) header
based on response content at launch with your load test.
Naturally, you would not do all of these. They are 3 examples of getting a Bearer token in different ways.
Code snippets
These are snippets!
These are just partial examples from a test. You may use the wizard or another example template and copy paste these into your test.
from locust import HttpUser, TaskSet, task
import requests
class UserBehavior(TaskSet):
def on_start(self):
# Send login request
response = requests.post("http://mysite.com/login", {
"username": "user",
"password": "pass"
})
# THEN set "token" from response header
self.client.headers.update({'Authorization': response.headers.get('token')})
# OR set "token" from response cookies
self.client.cookies.set('Authorization', response.cookies.get('token'))
# OR set "token" from response body
token = str(response.content.decode().find('token')
self.client.headers.update({'Authorization': token)})
# continue the rest of your test
Locust Test Example
LoadForge is powered by locust, meaning open source locust users can copy this script as well. If you are a locust user, consider importing your script to LoadForge to supercharge your testing!