Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Livewire Dusk Testbench Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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

  • Pre-release on every axis. The package itself is at 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.
  • Ambiguous support policy. The changelog says "Add support for Livewire 4." It is unclear whether Livewire 4 support is additive (one branch spans Livewire 3 and 4) or whether this beta line establishes a new floor. That single question determines whether an existing Livewire 3 / Laravel 11–12 codebase can adopt v3.0.0-beta.9 without a framework upgrade, and it should be answered before any planning assumes it.
  • Maintainer concentration. A focused, single-maintainer utility from a Livewire core-team member. High domain credibility, low bus factor.

Key questions

  1. Is Livewire 4 support additive to Livewire 3 in this beta line, or does it raise the minimum? What is the exact supported version matrix?
  2. Do we actually need Dusk-level browser coverage, or does Livewire 4's own testing surface (plus Pest/browser testing) cover the same ground with less infrastructure?
  3. Is the beta pinned to an exact version in our manifest, and who owns bumping it?
  4. What is the maintainer's stated path to GA, and what is our fallback if the package stalls mid-beta?
  5. Which teams, if any, maintain Livewire packages rather than applications? If none, this evaluation should be closed as not applicable.

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.

Integration Approach

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

  1. Confirm the support matrix (question 1) — everything else depends on it.
  2. Spike on a throwaway branch against the target stack; do not put it on main.
  3. Land it behind the framework upgrade PR, not before.
  4. Re-evaluate at GA; drop the pin only when the maintainer publishes a stable support policy.

Operational Impact

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

  • Framework version skew after an unrelated bump — the most likely break.
  • Browser binary / driver mismatch in CI, presenting as unrelated test failures.
  • Silent skips: browser tests that quietly no-op when the driver is absent, producing green builds with no coverage. Assert the suite actually ran.
  • Orphaned browser and PHP server processes on cancelled CI jobs; ensure teardown and job timeouts.
  • Beta API drift between patch releases breaking the bootstrap trait.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast