mouncef/behat-selenium-bundle

Tests fonctionnels Behat + Selenium pour Symfony : steps en français, screenshots, rapport HTML, export et mail.

Maintainers

Package info

github.com/Mouncef/behat-selenium-bundle

Type:symfony-bundle

pkg:composer/mouncef/behat-selenium-bundle

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-07-13 18:26 UTC

This package is auto-updated.

Last update: 2026-07-13 18:36:21 UTC


README

Tests fonctionnels Behat + Selenium pour Symfony : step definitions en français, captures d'écran automatiques, rapport HTML, export ZIP et notification mail.

Réécriture moderne de froggdev/behat-installer (PHP ≥ 8.2, Symfony 6.4/7.x, Behat 3.14).

Installation

composer require --dev mouncef/behat-selenium-bundle

Enregistrer le bundle dans config/bundles.php :

Mouncef\BehatSeleniumBundle\BehatSeleniumBundle::class => ['test' => true],

Installer la configuration :

APP_ENV=test php bin/console behat:install

Démarrer Selenium puis lancer les tests :

docker compose -f docker/selenium/compose.yaml up -d
cp behat.yml.dist behat.yml
vendor/bin/behat

Le rapport HTML est généré dans public/output/behat/index.html. Pour observer le navigateur pendant les tests : http://localhost:7900 (noVNC).

Steps disponibles

Toutes les phrases sont en français et identiques au legacy — exemples :

When Je vais sur la page "https://example.com/"
Then Je devrai voir le texte "Example Domain"
Given Je rempli le champ "#login" avec la valeur "{user}"
Given Je defini que "user" vaut "jean.dupont"
Given Je prends une capture d'écran "apres-connexion"

La liste complète est visible via vendor/bin/behat -dl (ou -di pour le détail).

Configuration

config/packages/test/behat_selenium.yaml :

behat_selenium:
    screenshots:
        enabled: true
        path: 'public/output/behat'
    report:
        path: 'public/output/behat'
        export:
            enabled: false                                  # copie + zip du rapport
            path: '%kernel.project_dir%/var/behat/exports'
        mail:
            enabled: false                                  # envoi via MAILER_DSN
            from: 'behat@example.fr'
            to: ['equipe@example.fr']
    mailbox:
        wait_timeout: 30   # plafond (en secondes) des attentes des steps boîtes mail (Yopmail/Mailinator/Tempr)

Variables de scénario

Given Je defini que "email" vaut "test@yopmail.com"
When Je rempli le champ "#email" avec la valeur "{email}"

Les variables sont persistées entre les scénarios (var/behat/uservars.json).

Licence

MIT