Skip to content

Parallelism & Templates

StepWright PHP supports multiple template abstractions to run complex multi-tab and parameterised workflows.

ParallelTemplate

Run multiple templates in parallel tabs within the browser context:

php
use Lablnet\StepWright\DTOs\ParallelTemplate;
use Lablnet\StepWright\DTOs\TabTemplate;

$parallel = new ParallelTemplate(
    templates: [
        new TabTemplate(tab: 'tab_1', steps: [...]),
        new TabTemplate(tab: 'tab_2', steps: [...]),
    ]
);

$results = StepWright::runScraper([$parallel], $options, $driver);

ParameterizedTemplate

Generate dynamic templates based on input parameters (e.g., search keywords or product IDs):

php
use Lablnet\StepWright\DTOs\ParameterizedTemplate;

$paramTemplate = new ParameterizedTemplate(
    baseTemplate: new TabTemplate(
        tab: 'search_{query}',
        steps: [
            new BaseStep(id: 'nav', action: 'navigate', object: 'https://example.com/search?q={query}'),
            new BaseStep(id: 'title', action: 'getTitle', key: 'title'),
        ]
    ),
    parameters: [
        ['query' => 'php'],
        ['query' => 'playwright'],
    ]
);

$results = StepWright::runScraper([$paramTemplate], $options, $driver);

Released under the MIT License.