Laravel Packages

Laravel Performance Testing With Volt-Test PHP

Published
Laravel Performance Testing With Volt-Test PHP image

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 selection
php artisan volttest:make ApiTest --routes --select --filter="api/*"
 
# Include only authenticated routes
php 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

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article