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

Behat Selenium Bundle Laravel Package

mouncef/behat-selenium-bundle

A Symfony bundle that integrates Behat with Selenium, providing the configuration and services needed to run browser-based acceptance tests. It helps wire Mink and Selenium drivers into your test suite so you can automate real browser interactions with minimal setup.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for end-to-end test infrastructure. This bundle bundles Behat + Selenium + a Twig HTML reporter + ZIP export + mail notification into a single installable harness. That is roughly 2–4 engineer-weeks of scaffolding (driver config, screenshot capture, report template, mailer wiring, Docker grid, demo feature) that a team would otherwise build and then maintain. The decision this informs is whether to adopt an opinionated OSS harness or fund an internal QA-tooling epic.
  • Time-to-first-test / QA onboarding investment. behat:install generates behat.yml, a demo feature, and a docker compose Selenium stack (Chrome + noVNC). This directly shortens the "blank page to green test" path from days to hours, which is the metric that usually decides whether a QA-automation initiative survives its first sprint.
  • Release-gating and regression-escape policy. Automatic OK/KO screenshots, an HTML report, ZIP export, and email notification are exactly the artifacts needed to make E2E results reviewable by non-engineers and attachable to a release checklist or audit trail. This supports a decision to gate releases on acceptance-test evidence rather than manual QA sign-off.
  • Acceptance-test ownership across roles. ~90 French step definitions covering navigation, forms, alerts, windows, MUI components, disposable-mailbox flows, and scenario variables mean product/QA can write executable scenarios in domain language without PHP. This informs whether acceptance criteria live in the tracker or in a runnable suite.
  • Platform standardization (important caveat). Despite being catalogued as a "Laravel/PHP" package, this is a Symfony bundle (symfony/mailer, Symfony 6.4/7.x, Twig). It is not adoptable on a Laravel codebase without porting the service wiring. The decision it actually supports is Symfony E2E standardization — verify our stack before spending evaluation time here.
  • Localization and staffing of test assets. French-only step vocabulary is a durable constraint on hiring, outsourcing, and vendor handover. That is a workforce/QA-sourcing decision as much as a technical one.
  • OSS dependency policy. v1.0.0, a rewrite of froggdev/behat-installer, francophone release notes, and a single-package step library imply a small maintainer surface. This informs our stance on pinning versions and abstracting third-party step definitions.
  • Roadmap fit: a "reduce regression escapes" or "QA evidence before release" initiative; low fit for API/contract testing or performance work.

When to Consider This Package

Consider it when:

  • The product is Symfony 6.4/7.x on PHP ≥ 8.2 and the team is already, or intends to be, on Behat 3.14.
  • The team is French-speaking (or comfortable maintaining French Gherkin); the ~90 step definitions are the core value and are not worth re-translating.
  • You need browser-level acceptance tests of form-heavy, session-heavy UI — multi-step forms, alerts, popups, email-confirmation signup flows — where disposable mailboxes and scenario variables matter.
  • Stakeholder-visible evidence is a requirement: screenshots on pass and fail, HTML report, ZIP artifact, email notification. This is the bundle's clearest differentiator over raw Behat/Mink.
  • You want local, reproducible Selenium without standing up a grid service — the generated docker compose with Chrome + noVNC covers debugging and demos.
  • A spike/POC is cheap and reversible: one behat:install run answers most diligence questions.

Look elsewhere when:

  • The codebase is Laravel. The bundle is Symfony-coupled; treat it as inspiration, not a dependency.
  • The team is multilingual or outsourced. English Gherkin or a step library the team owns is a better long-term bet than adopting a French-only vocabulary you don't control.
  • You want modern E2E ergonomics. Selenium/Chrome-only, no mention of parallelization, cross-browser matrices, network stubbing, trace viewers, or CI templates. Playwright or Cypress will outperform it on flake rate and debuggability; Symfony Panther is the closer native alternative if you want Symfony-native browser testing without Behat.
  • You need vendor-grade support or an SLA. v1.0.0 with no prior assessment history means unknown semver discipline and unproven upgrade path. Pin the version and isolate step definitions behind your own layer.
  • Your UI is a decoupled SPA — the MUI steps suggest JS component coverage, but a browser driver plus Behat is a heavier, slower path than component-level testing for that surface.
  • Volume is high. ~90 steps help authoring but don't address suite runtime; if you expect hundreds of scenarios, confirm parallel execution before committing.

Diligence to close before adoption: CI usage (no pipeline config shipped), maintenance cadence and issue responsiveness, upgrade policy for Behat/Symfony majors, whether step definitions are namespaced/overridable, and licensing.

How to Pitch It (Stakeholders)

For executives (one paragraph). This is a free, open-source starter kit for automated browser testing on Symfony applications. It removes most of the setup cost of a UI test suite — configuration, a working Selenium/Chrome environment, screenshot capture, an HTML report, a ZIP artifact, and email notification — so QA evidence becomes available in hours rather than weeks. The upside is lower regression risk and reviewable proof of quality at each release, with no license spend. The limits are equally clear: it only fits Symfony codebases (not Laravel), its test vocabulary is French-only, it is a v1.0.0 from a small maintainer, and it inherits the flakiness of Selenium-based UI testing. Recommendation: run a time-boxed two-week pilot on one team with the version pinned; approve broader adoption only if suite runtime and flake rate hold up, and budget a small ongoing owner for the step library.

For engineering leads. Treat it as an opinionated wrapper — Behat + Mink/Selenium + a Twig reporter + a mailer — with the genuine value concentrated in the French step library and the behat:install scaffold. Start with behat:install, keep generated behat.yml and the Docker Selenium stack, and immediately wrap third-party step definitions in your own layer so upgrades and phrasing changes don't ripple through every feature file. Do not surface disposable-mailbox and scenario-variable steps directly to product without agreeing on test-data hygiene. Confirm CI execution and Docker-in-CI viability early, since the package ships local tooling but no pipeline definition. Expect to own: suite parallelization, browser/version pinning, and a Playwright or Panther evaluation as the escape hatch if flake rate becomes the dominant cost.

Adoption stance: Pilot, conditionally. Strong fit and cheap to trial for French-speaking Symfony teams needing stakeholder-visible acceptance evidence; not a fit for Laravel, distributed/multilingual QA, or teams already committed to Playwright/Cypress. Re-assess on the next release if parallel execution, CI templates, or i18n of step definitions appear.

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.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels