Releases: volt-test/php-sdk
Releases · volt-test/php-sdk
v1.2.0
VoltTest PHP SDK v1.2.0 - Cloud Execution, Stages & Target Configuration.
What's New in v1.2.0
Features
Stages Support
Define multi-phase load profiles where virtual users ramp up and down over time:
$test->stage('2m', 100); // Ramp to 100 VUs over 2 minutes
$test->stage('10m', 100); // Hold at 100 VUs
$test->stage('2m', 0); // Ramp downStages are mutually exclusive with setVirtualUsers()/setDuration()/setRampUp().
Cloud Execution
Run load tests on VoltTest Cloud instead of locally:
$test->cloud('vt_your_api_key');
$result = $test->run();- API key generated from volt-test.com (starts with
vt_) - Returns a
CloudRunobject with run ID, test ID, status, and dashboard URL - Conflict handling when a test with the same name already exists (interactive prompt or programmatic callback via
setOnConflictPrompt()) - Cloud-specific exceptions:
AuthenticationException,PlanLimitException,CloudConnectionException,CloudTimeoutException,RunFailedException - Configurable cloud timeout via
setCloudTimeout()
Region Distribution
Distribute load across multiple geographic regions in cloud mode:
$test->regions([
'us-east-1' => 60,
'eu-west-1' => 40,
]);Target URL Configuration
Set the target URL explicitly with the new target() method:
$test->target('https://api.example.com'); // Default 30s idle timeout
$test->target('https://api.example.com', '10s'); // Custom idle timeoutHTTP Request Timeout
Set a per-request timeout to prevent hanging requests:
$test->setHttpTimeout('60s');Name & Description Setters
Update test name and description after construction:
$test->setName('Updated Name');
$test->setDescription('Updated description');Enhancements
setIdleTimeout()— standalone method to set only the idle timeoutsetTargetUrl()— set the target URL on Configuration directlyclearConstantLoad()— clear constant load settings when switching to stages- Improved
ProcessManagererror handling — checks stderr content before reporting errors
Bug Fixes
- Fixed
extractFromRegex()silently ignoring invalid input — now throwsInvalidRegexExceptionimmediately
Deprecations
VoltTest::setTarget()— usetarget()orsetIdleTimeout()Configuration::setTarget()— usesetIdleTimeout()
Both deprecated methods still work and delegate to their replacements.
Engine
- Updated bundled engine to v1.2.0
Full Changelog: v1.1.0...v1.2.0
v1.2.2-dev
Full Changelog: v1.2.0-dev...v1.2.2-dev
v1.2.0-dev
What's Changed
- Feat/Stage-Cloud-Execution by @elwafa in #30
- feat: add HTTP timeout configuration for requests by @elwafa in #29
Full Changelog: v1.1.1...v1.2.0-dev
v1.2.1-dev
Redesign the cloud way
v1.1.1
v1.1.0
v1.0.0
v0.9.2
What's Changed
- feat(extractor): Add HTMLExtractor to PHP SDK for structured HTML data extraction
- Implemented
HTMLExtractor.phpto define HTML extraction rules in the Volt-Test PHP SDK. - Supports:
- CSS selectors for targeting specific elements.
- Extracting text content from nested elements.
- Extracting attributes (e.g.,
value,href,src).
- Aligns with the existing
JsonExtractor,RegexExtractor,HeaderExtractor, andCookieExtractor.
- Implemented
Full Changelog: v0.9.1...v0.9.2
v0.9.1
What's Changed
- Release/v0.9.1 by @elwafa in #22
- feat(validation): Support array indexing in JSON path validation
- Updated the JSON path validation regex to allow array indexing (e.g.,
$.data[0].attribute). - Ensured compatibility with dot notation for nested objects (e.g.,
$.data.object.attribute). - Improved validation to support mixed array and object paths (e.g.,
$.data[0].nested[2].value). - Added stricter checks to prevent malformed paths.
- Updated the JSON path validation regex to allow array indexing (e.g.,
- feat(validation): Support array indexing in JSON path validation
Full Changelog: v0.9.0...v0.9.1
v0.9.0
What's Changed
- Enable lean releases by @raphaelstolt in #15
- Fix: Handle SIGINT and Print Final Output Before Process Exit by @elwafa in #17
- Update Engine Version by @elwafa in #18
- release to v0.9.0 by @elwafa in #19
New Contributors
- @raphaelstolt made their first contribution in #15
Full Changelog: v0.1.2...v0.9.0