The Laravel Performance Testing package tests your application's performance with the VoltTest PHP SDK. Easily create and run load tests for your Laravel applications with built-in route discovery, CSRF handling, comprehensive reporting, and more.
Using the Laravel package, you can quickly get up to speed on using Volt-Test, generate test files easily, and start stress testing your Laravel app:
namespace App\VoltTests; use VoltTest\Laravel\Contracts\VoltTestCase;use VoltTest\Laravel\VoltTestManager; class ApiTest implements VoltTestCase{ public function define(VoltTestManager $manager): void { $scenario = $manager->scenario('API Performance Test'); // Login to get token $scenario->step('API Login') ->post('/api/login', [ 'email' => 'test@example.com', 'password' => 'password', ]) ->header('Accept', 'application/json') ->expectStatus(200) ->extractJson('auth_token', 'meta.token'); // Extract the authentication token from the response // Reference: https://php.volt-test.com/docs/Steps#json-response // Get user data $scenario->step('Get User Data') ->get('/api/user') ->header('Authorization', 'Bearer ${auth_token}') ->header('Accept', 'application/json') ->expectStatus(200) ->extractJson('user_id', 'data.id'); // Update user $scenario->step('Update User') ->put('/api/user/${user_id}', [ 'name' => 'Updated Name', 'email' => 'updated@example.com', ]) ->header('Authorization', 'Bearer ${auth_token}') ->header('Content-Type', 'application/json') ->expectStatus(200); }}
This Laravel package is built on top of the Volt-Test PHP package, offering Laravel conveniences such as a CLI to quickly create tests based on routes and other criteria:
php artisan volttest:make ApiTest --routes --filter="api/*" # Interactive route selectionphp artisan volttest:make ApiTest --routes --select --filter="api/*" # Include only authenticated routesphp artisan volttest:make ApiTest --routes --auth
Main Features
- Easy Laravel Integration - Seamlessly integrates with Laravel applications
- Automatic Route Discovery - Discover and test your application routes automatically
- Comprehensive Reporting - Detailed performance reports with metrics
- URL Load Testing - Direct URL testing without creating test classes
- Artisan Commands - Convenient CLI commands for test creation and execution
- Configurable - Flexible configuration options for different environments
- CSV Data Sources - Load dynamic test data from CSV files for realistic performance testing
Learn More
- 👩💻 Get started with this package by visiting the GitHub repo: volt-test/laravel-performance-testing
- 📖 Learn how to use this package: Usage docs
- 🔗 Learn how to use Volt-Test PHP: Introduction | Volt-Test PHP