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.
4 / 48). Navigate with the on-screen
previous/next buttons or the keyboard (←/→), close with the × button, a click
on the backdrop or Esc. A launch button opens it from the first step and
every capture thumbnail opens it at its own step. Most useful with
pickle_panther.debug (a capture per step), but also works with the
failure-only captures of a normal run.chromedriver must be installed on
the machine/container running the tests (no remote/Selenium mode), how Panther
auto-detects ./drivers, the Docker host-vs-container implication, and the
PANTHER_CHROME_ARGUMENTS=--ignore-certificate-errors workaround for HTTPS
targets with a self-signed certificate.pickle_panther.debug config option (default false): when enabled, a
screenshot is captured after every step, not only on failures. The
E2E_DEBUG=1 environment variable still works and forces it on.report.html is a home page listing each YAML
scenario file as a link (with a status icon and per-file scenario/step
counts), and every file gets its own page (report-N.html) — containing all
its scenarios and steps — with a breadcrumb back to the home page. Captures
still resolve relatively next to the report.HtmlReportExtension) instead of in every test's setUp. Previously each test
class wiped the previous classes' captures, so the final report only kept the
last class's screenshots — most visible with debug enabled.pickle-panther:sentences console command: documents every registered
sentence (Markdown) by introspecting the tagged providers — no hardcoded
list. Writes to stdout or a file (--output), optionally filtered by
--locale.symfony/console is now a required dependency (needed by the new command).First public release — the YAML/Panther E2E engine extracted into a reusable Symfony bundle.
ScenarioRunner,
ScenarioParser, BasePantherTest).nom|name, etapes|steps,
contexte|context, navigateur|browser, identifié|identified,
titre|title.args (bound by name or position)
and inline values written inside the brackets (bound positionally in
placeholder order).#[Sentence] attribute (repeatable, multi-locale) with a backwards-compatible
#[Description] alias; sentence providers are autoconfigured and aggregated by
SentenceRegistry.CommonSentences (navigation, clicking, typing, waiting,
assertions) and AdminSentences (generic back-office menus/datagrids).AuthenticatorInterface plus a configurable
FormLoginAuthenticator, enabled through pickle_panther.auth.HtmlReporter + PHPUnit HtmlReportExtension)
with grouped scenarios, context badges, screenshots, embedded logo and author
credits.pickle_panther): locale, scenarios directory, report
output, browser (headless, desktop/mobile viewports, Chrome args) and auth.How can I help you explore Laravel packages today?