Advanced E-Commerce Test Example

Authentication, Adding to cart, browsing products and going to check out

LoadForge can record your browser, graphically build tests, scan your site with a wizard and more. Sign up now to run your first test.

Sign up now


Overview

This enhanced LoadForge locust script simulates a more comprehensive user journey on an e-commerce website. It includes advanced behaviors such as user authentication, browsing through a variety of products, adding items to the cart, viewing the cart, and proceeding to checkout. The script is designed to mimic realistic user actions and gather detailed performance metrics.

Code

The below code can be run directly on LoadForge to test at scale.

from locust import HttpUser, task, between
import random

class EcommerceUser(HttpUser):
    wait_time = between(1, 5)
    product_ids = [101, 102, 103, 104, 105]  # Example product IDs
    cart_id = random.randint(1000, 9999)

    def on_start(self):
        self.user_login()

    def user_login(self):
        # Implement login logic here
        response = self.client.post("/login", {"username": "user", "password": "password"})
        if response.status_code != 200:
            print("Failed to log in")

    @task(1)
    def view_products(self):
        self.client.get("/products")

    @task(2)
    def view_product_details(self):
        product_id = random.choice(self.product_ids)
        self.client.get(f"/products/{product_id}", name="/products/:id")

    @task(3)
    def add_to_cart(self):
        product_id = random.choice(self.product_ids)
        self.client.post("/cart", {"product_id": product_id, "quantity": 1})

    @task(4)
    def view_cart(self):
        self.client.get(f"/cart/{self.cart_id}")

    @task(5)
    def checkout(self):
        self.client.post("/checkout", {"cart_id": self.cart_id})

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!

Ready to run your test?
Run your test today with LoadForge.