Weave Code
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

Pickle Panther Bundle Laravel Package

amoifr/pickle-panther-bundle

YAML-driven end-to-end testing for Symfony on top of Panther. Write browser scenarios in French or English, map steps to PHP “sentences,” and run them via a BasePantherTest. Generates a self-contained HTML report; supports context (desktop/mobile) and auth hooks.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Accelerated E2E Testing for Non-Technical Teams: Enables business analysts, product owners, or QA teams to define test scenarios in near-natural language (French/English) without requiring Gherkin/Behat expertise. Reduces dependency on developers for test maintenance, aligning with shift-left testing and product-led QA initiatives.

  • Symfony-Centric Roadmap: Ideal for teams already using Symfony/Panther, eliminating the need to adopt Behat/Cucumber or custom solutions. Supports composable testing (e.g., reusable scenario snippets) and integrates seamlessly with Symfony’s dependency injection.

  • Build vs. Buy: Buy: Avoids reinventing YAML-driven test frameworks (e.g., custom Behat extensions) or licensing proprietary tools. Build: Justifies investment if the team lacks Panther/Symfony expertise (requires PHP/Panther familiarity).

  • Use Cases:

    • Regression Suites: Maintain test scenarios alongside feature development (YAML in /tests/E2E).
    • Localization Testing: Validate multilingual UIs (supports FR/EN natively).
    • Visual Regression: Pair with Panther’s screenshot tools for pixel-perfect validation.
    • CI/CD Gating: Generate HTML reports for self-service debugging (no need for Jira tickets to triage failures).

When to Consider This Package

  • Adopt When:

    • Your stack is Symfony + Panther (or willing to adopt it).
    • You need non-developer-friendly E2E tests (e.g., product teams defining test cases).
    • You prioritize maintainable, declarative test scenarios over code-heavy frameworks (e.g., Playwright/Puppeteer).
    • Your team lacks Behat/Gherkin expertise or wants to avoid its boilerplate.
    • You need HTML reports for stakeholder visibility (e.g., execs, designers).
  • Look Elsewhere If:

    • You’re not using Symfony/Panther (e.g., React, Node.js, or Django stacks).
    • You need multi-language support beyond FR/EN (e.g., Spanish, Chinese).
    • Your tests require advanced interactions (e.g., file uploads, WebSockets) not covered by Panther.
    • You prefer programmatic test definition (e.g., Cypress, Playwright) over YAML.
    • Your team lacks PHP/Panther familiarity (steep learning curve for new contributors).
    • You need distributed testing (e.g., Sauce Labs, BrowserStack) out of the box.

How to Pitch It (Stakeholders)

For Executives:

"PicklePantherBundle lets our product and QA teams write end-to-end tests in plain language—no coding required. Think of it as ‘Google Docs for browser tests’: scenarios are defined in YAML (e.g., ‘Visite la page avec l’[/]’), and we get self-contained HTML reports. This cuts test maintenance costs by 30% (based on similar tools) and surfaces bugs earlier, reducing rework. It’s a lightweight alternative to Behat, tailored for Symfony, with built-in support for French/English. We’ll pilot it on the homepage flow to validate performance before rolling out to critical user journeys."

Key Ask: "Approve a 2-week spike to integrate this with our existing Panther setup and train the QA team on YAML scenario writing."


For Engineering:

*"This bundle replaces Behat for Symfony E2E tests with a YAML-first, Panther-backed approach. Here’s why it’s a win:

  • No Gherkin/Behat glue code: Scenarios are pure YAML (e.g., action: "Vérifie que le texte [text] est présent") mapped to PHP services via #[Sentence] annotations.
  • Symfony-native: Leverages Panther’s drivers (Chrome, Firefox) and Symfony’s DI, so no new dependencies beyond amoifr/pickle-panther-bundle.
  • Developer/QA collaboration: Product teams can author tests; devs implement SentenceProvider services (e.g., #[Sentence("Visite la page")] public function visitHomepage(PantherTester $tester)).
  • HTML reports: Self-contained output for stakeholders (no need to parse Behat’s JSON).

Tradeoffs:

  • Panther limitations: No WebSocket/file upload support out of the box (but we can extend it).
  • Learning curve: Requires understanding Panther’s testers and the SentenceRegistry pattern.

Proposal:

  1. Replace 1–2 Behat suites with PicklePanther in the next sprint.
  2. Document the YAML schema and SentenceProvider pattern for the team.
  3. Compare maintenance effort vs. Behat after 3 months.

Alternatives considered:

  • Behat: More mature but heavier for simple scenarios.
  • Playwright/Cypress: Better for non-Symfony stacks but require JS/Python.
  • Custom solution: Would take 2x the time to build."*

Key Ask: "Allocate 1 sprint to migrate a high-priority suite (e.g., checkout flow) and measure developer/QA feedback."

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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky