volt-test/laravel-performance-testing
Laravel Performance Testing
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, per-virtual-user session handling, one-call CSRF token extraction, and comprehensive reporting.
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
- Sessions & CSRF — Cookies and sessions handled automatically per virtual user; CSRF is one call,
extractCsrfToken()
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.
Related Packages
php-tmdb/laravel
Laravel Package for TMDB ( The Movie Database ) API. Provides easy access to the...
53,315
160