joshhanley/livewire-dusk-testbench
A Laravel package that brings Livewire Dusk browser testing to Orchestra Testbench, letting package developers write end-to-end Dusk tests for Livewire components without a full application skeleton. Fits neatly into existing Testbench workflows.
Architecture fit
joshhanley/livewire-dusk-testbench is a development-only harness: it wires Orchestra Testbench's throwaway Laravel app skeleton together with Laravel Dusk and Livewire so that Livewire components can be exercised in a real browser from within a package's test suite. Architecturally this is a require-dev concern with zero production runtime footprint — it never ships to customers, never appears in a deploy artifact, and cannot fail in production. Its blast radius is bounded to CI pipelines and developer machines, which materially lowers the risk profile of adopting it.
The fit is therefore narrow but legitimate: teams maintaining Livewire components as a package (rather than inside a host application) have no clean way to run Dusk against a Testbench skeleton without something like this. Teams testing Livewire inside a normal application already have laravel/dusk plus Livewire's own testing utilities and likely do not need this package at all.
Integration feasibility Mechanically trivial — a single Composer dependency, no service configuration, no data migration. The difficulty is not installation but version alignment: this release is explicitly a coupling statement to three moving targets simultaneously (testbench-dusk 11, Laravel 13, Livewire 4). Adopting it means adopting that entire matrix.
Technical risk
3.0.0-beta.9 (ninth beta, no GA), and it targets Laravel 13 and Livewire 4, both of which are pre-GA relative to the current mainstream stack. Three unreleased layers stacked.Key questions
Evidence gap: this assessment is derived solely from the v3.0.0-beta.9 changelog and the package's stated purpose. Source, license, test coverage, and issue-tracker health were not reviewed and should be confirmed before adoption.
Stack fit
Only relevant where the stack is: PHP 8.x + Composer + a Livewire package under development + a CI runner capable of hosting a headless browser. It is not a dependency for application teams shipping Livewire inside a standard Laravel app; they should stay on laravel/dusk directly.
Migration path There is no incremental path from v2 to v3 worth planning, because v3 arrives with a framework-major upgrade attached. Treat adoption as a single decision bundled with the Laravel 13 / Livewire 4 upgrade, not as an independent library bump. If the team is not moving to that stack this quarter, the correct action is to take no action — the beta is not a maintenance update to the current line.
Compatibility
Pin exactly (3.0.0-beta.9, no caret). Betas that track pre-release frameworks routinely break patch-to-patch. Record the full matrix — package version × Livewire × Laravel × testbench-dusk × PHP — in the repo, and gate CI on it. Verify the browser driver pairing separately; Chrome/chromedriver drift is a more frequent cause of red builds than the PHP dependency graph.
Sequencing
main.Maintenance Low code churn, high coupling churn. The package needs attention roughly whenever Livewire, Laravel, or testbench-dusk cuts a release, which on a beta cadence is frequently. Budget a small recurring maintenance line rather than a one-off integration cost.
Support No commercial support; community issues only. Acceptable for a dev dependency where failure means "tests don't run," not "customers are down." Escalation path is the maintainer's issue tracker, and the practical fallback is removing the dependency and hand-rolling a Testbench + Dusk bootstrap — a day or two of work, not a project.
Scaling Dusk is the cost centre here, not the package. Browser sessions are slow and parallelisation is not first-class, so suite growth translates into CI minutes and flake. Shard across CI jobs or front it with a Selenium/Grid service before the suite gets large. Keep the browser suite as a thin smoke layer over component behaviour; push bulk coverage into Livewire's fast, non-browser test utilities.
Failure modes
Ramp-up Moderate. Engineers need working familiarity with Orchestra Testbench (a non-obvious abstraction even for experienced Laravel developers) plus Dusk selectors and browser debugging. Expect a day of onboarding for someone who already knows Laravel testing, longer for the failure-diagnosis path. Document the bootstrap pattern once, in-repo, so the knowledge is not concentrated in the person who set it up.
How can I help you explore Laravel packages today?