
Jira Integration & Graphical Test Builder
We are proud to announce the release of two new features, available immediately. 🚀 Jira Integration: Automate Issue Tracking for...
Guide on chaining dependent JSON API calls using LoadForge and Locust.
You are now browsing the LoadForge locust test directory. You can use these tests as a starting point for your own tests, or use our AI wizard to generate one automatically.
Complex workflows often require multiple API calls: fetch a list of resources, pick random IDs, then retrieve or modify them. This guide shows you how to parse JSON responses and chain HTTP calls in a single Locust script.
# locust.py
import random
from locust import HttpUser, between, task
class JSONAPIUser(HttpUser):
wait_time = between(1, 3)
host = "https://api.example.com"
def fetch_resources(self):
response = self.client.get("/api/items", name="Get Items List")
self.item_ids = [item['id'] for item in response.json()]
def on_start(self):
# Warm up: fetch initial resource list
self.fetch_resources()
@task(3)
def read_item(self):
# Randomly pick an existing item
item_id = random.choice(self.item_ids)
self.client.get(f"/api/items/{item_id}", name="Get Item Detail")
@task(1)
def create_and_delete(self):
# Create a new item
response = self.client.post(
"/api/items",
name="Create Item",
json={"name": "LoadForge Item"}
)
new_id = response.json().get("id")
if new_id:
# Clean up by deleting it
self.client.delete(
f"/api/items/{new_id}",
name="Delete Item"
)
# Refresh list occasionally
self.fetch_resources()
Notes:
pip install locust
.self.client.headers.update(...)
for auth headers if needed.