volt-test/laravel-performance-testing

A Laravel package for performance testing with VoltTest

Maintainers

Package info

github.com/volt-test/laravel-performance-testing

pkg:composer/volt-test/laravel-performance-testing

Statistics

Installs: 9 132

Dependents: 0

Suggesters: 0

Stars: 76

Open Issues: 0

v1.3.1 2026-06-05 19:27 UTC

README

A Laravel package for performance testing with the VoltTest PHP SDK. Easily create and run load tests for your Laravel applications with built-in route discovery, CSRF handling, and comprehensive reporting.

Latest Version on Packagist Total Downloads GitHub Tests Action Status

Features

  • Artisan Commands — Create and run tests from the CLI
  • Route Discovery — Auto-generate test scaffolds from your Laravel routes
  • Target Configuration — Set the target URL explicitly or auto-detect from config
  • Stages — Define ramped load profiles (ramp-up, hold, spike, ramp-down)
  • Cloud Execution — Run tests on VoltTest Cloud with multi-region support
  • CSV Data Sources — Drive tests with dynamic data from CSV files
  • PHPUnit Integration — Run performance tests in your test suite with assertions
  • CSRF & Cookie Handling — Automatic Laravel session and CSRF token management

Requirements

  • PHP 8.2+
  • Laravel 11, 12, or 13
  • VoltTest PHP SDK ^1.2

Installation

composer require volt-test/laravel-performance-testing --dev

Publish the configuration file:

php artisan vendor:publish --tag=volttest-config

Quick Start

1. Create a test

php artisan volttest:make LoginTest

2. Define your scenario

class LoginTest implements VoltTestCase
{
    public function define(VoltTestManager $manager): void
    {
        $manager->target('http://localhost:8000');

        $scenario = $manager->scenario('Login Flow');

        $scenario->step('Get Login Page')
            ->get('/login')
            ->expectStatus(200)
            ->extractCsrfToken();

        $scenario->step('Submit Login')
            ->post('/login', [
                '_token' => '${csrf_token}',
                'email' => 'user@example.com',
                'password' => 'password',
            ])
            ->expectStatus(302);
    }
}

3. Run the test

php artisan volttest:run LoginTest --users=10 --duration=30s

4. Direct URL testing

php artisan volttest:run https://api.example.com/health --url --users=50 --duration=1m

Documentation

For full documentation, visit docs.volt-test.com:

Topic Description
Installation Setup and configuration
Quick Start Get running in 5 minutes
Artisan Commands volttest:make and volttest:run options
Creating Tests Test structure, scenarios, steps, and route discovery
API Testing Authentication flows, CRUD, and data extraction
Web Testing HTML forms, CSRF tokens, and multi-step flows
Data-Driven Testing CSV data sources and distribution modes
PHPUnit Integration Performance assertions and server management
Assertions Available performance assertions
Cloud Execution Run on VoltTest Cloud with multi-region support
Configuration Full config reference

For core VoltTest PHP SDK documentation, visit docs.volt-test.com.

License

This package is open-sourced software licensed under the MIT license.

Changelog

Please see CHANGELOG for more information on what has changed recently.