Behat, Mink e Selenium2 per Symfony2.1

In questi giorni volevo installare Behat e Mink per usarli con Symfony2.1. La documentazione è un po’ frammentata e i tutorial un po’ datati. Di seguito i passi aggiornati e pronto all’uso.

1) Assicurarsi che composer sia aggiornato

php composer.phar self-update

2) Aggiungere Behat e Mink alle dipendenze di composer

Per fare questo modificare composer.json e aggiungere

"require": {
        "behat/behat":                  "2.4.*@stable",
        "behat/mink":                   "1.4.*@stable",
        "behat/symfony2-extension":     "*@stable",
        "behat/mink-extension":         "*@stable",
        "behat/mink-selenium2-driver":  "*@stable"
    },

3) Creare un FrontController per l’ambiente di test

Creare una copia di web/app_dev.php e salvare il file come web/app_test.php

Cambiare la linea:

$kernel = new AppKernel('dev', true);

con:

$kernel = new AppKernel('test', true);

4) Aggiungere la configurazione per behat

Creare il file app/config/behat.yml con il seguente testo:

default:
  extensions:
    Behat\Symfony2Extension\Extension:
      mink_driver: true
      kernel:
        env: test
        debug: true
    Behat\MinkExtension\Extension:
      base_url: 'http://dev.example.com/app_test.php/'
      default_session: symfony2
      javascript_session: selenium
      selenium:
        host: 127.0.0.1
        port: 4444

5) Installare Behat, Mink e il client Selenium2

Basta eseguire composer. Questo installa Behat, Mink e il client Selenium2.

php composer.phar install

6) Inizializzare Behat

Per create le features inizializzare behat con il comando:

./bin/behat --init

Questo comando creare una cartella features nella root directory di symfony. A questo punto si è pronti per creare features e scenari.

Successivamente per eseguire le features usare: ./bin/behat

 

 

 

 

 

Fonti:

http://blog.lysender.com/2013/04/setting-up-selenium-2-and-behat-on-slackware-linux/