mouncef / behat-selenium-bundle
Tests fonctionnels Behat + Selenium pour Symfony : steps en français, screenshots, rapport HTML, export et mail.
Package info
github.com/Mouncef/behat-selenium-bundle
Type:symfony-bundle
pkg:composer/mouncef/behat-selenium-bundle
Requires
- php: >=8.2
- ext-zip: *
- behat/behat: ^3.14
- behat/mink: ^1.11
- behat/mink-browserkit-driver: ^2.0
- behat/mink-selenium2-driver: ^1.7
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/symfony-extension: ^2.6
- symfony/config: ^6.4|^7.0
- symfony/console: ^6.4|^7.0
- symfony/dependency-injection: ^6.4|^7.0
- symfony/filesystem: ^6.4|^7.0
- symfony/http-kernel: ^6.4|^7.0
- symfony/mailer: ^6.4|^7.0
- symfony/mime: ^6.4|^7.0
- twig/twig: ^3.8
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- symfony/framework-bundle: ^6.4|^7.0
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