PHPUnit e Selenium

Ciao a tutti… sono 2 giorni che spulcio tra forums e google cercando di capire come potermi sbloccare dalla pagina 45 del libro "Agile Web Application Development ecc ecc"

Fondamentalmente non riesco a capire come far funzionare phpunit e selenium.

Riepilogo i tentativi che ho fatto:

1. installazione su server linux

Ho installato tutto, server httpd, mysql, tutte le librerie, estensioni ecc ecc

Ho installato phpunit e selenium senza problemi.

In ambiente terminal ovviamente non era installato firefox, di conseguenza phpunit mi avvisava che non riusciva a trovare i binari.

Quindi ho installato firefox, anche se in terminal, ma proprio perchè è un ambiente terminal, phpunit non riesce a lanciare firefox!

Risultato:


Configuration read from /var/www/html/demo/protected/tests/phpunit.xml

16:17:58.221 INFO - Command request: getNewBrowserSession[*firefox, link-rimosso] on session null

16:17:58.226 INFO - creating new remote session

16:17:58.231 INFO - Allocated session c3f9f464d169456c8f0163ad28474c06 for link-rimosso, launching...

jar:file:/etc/seleniumhq/selenium-server-standalone-2.25.0.jar!/customProfileDirCUSTFFCHROME

16:17:58.336 INFO - Preparing Firefox profile...

16:18:12.231 ERROR - Failed to start new browser session, shutdown browser and clear all session data

java.lang.RuntimeException: Timed out waiting for profile to be created!

2. provo ad installare phpunit e selenium su windows

Su windows ho una installazione di xampp, posizionata in c:\xampp\…

Dato questo fatto non riesco a far nulla con pear, perchè cerca di effettuare modifiche/upgrades/vattelapesca in c:\php!!!

Inoltre cerca un fantomatico pear.ini nella directory di windows.

è possibile modificare questo percorso? ho cercato anche nel registro, ma non ho trovato voci a riguardo!

La mia speranza è quella di riuscire a far andare tutto sotto linux, in terminale, ma non riesco proprio a trovare istruzioni a riguardo!!

Mmm io non ho mai installato nessun firefox per il terminale. Ti dispiace spiegare meglio di che si tratta?

Per curiosità ho scaricato da zero yii ed ho creato la mia applicazione. Ho clonato il progetto da github. Mi sono allineato alla 1.1.11. Ho lanciato selenium. Ho lanciato i tests e tutto ha funzionato senza che io dovessi fare nulla a parte togliere iexplorer dall’elenco dei browser ed impostare


define('TEST_BASE_URL','http://localhost/testare-yii/index-test.php/');

nel file bootstrap.php

[list=1]

[*]$ git clone git@github.com:yiisoft/yii

[*]$ git checkout 1.1.11

[*]cd protected/tests

[*]$ phpunit functional/

[/list]

Grazie per le prove, nel frattempo sono riuscito a modificare i parametri di xampp su win e di conseguenza a far funzionare PHPUnit + Selenium.

Quello che non mi è chiaro - e probabilmente è dove sbagliavo - è come faccia Selenium, in un ambiente terminale linux, magari anche remoto, a caricare Firefox, se questo non è installato. Ha una versione terminale? Lo emula?

Non mi pare esista una versione terminale di Firefox, di conseguenza, perchè Selenium funzioni è necessario lavorare in un ambiente grafico, windows, linux o mac che sia, giusto?

Che io sappia, Selenium lancia lo stesso firefox che usi tu per navigare. Sbaglierò, ma testare un sito in un browser che non usa nessuno non ha molto senso. A quel punto avrebbe più senso avere un parser. Se devo essere sincero. Sono quasi certo che con php5.4 si voglia andare in quella direzione.

Per esempio, io ho dovuto eliminare iexplorer nella configurazione di selenium. Questo perché non ce l’ho installato. Senza questa piccola modifica veniva compromesso l’intero test. Anche quello con Firefox.