2010-02-24 8 views
10

Sembra che ci sia molto confronto tra Selenium/WatiN e SimpleTest (che ha anche funzioni di test web).Selenium vs. SimpleTest vs. WatiN

Ho provato il selenio e ho trovato la GUI ottima per creare prove come si può vedere cosa sta succedendo e registrare senza digitare tutti i comandi manualmente.

Per quanto riguarda l'esecuzione dei test, Selenium è molto più complesso di SimpleTest. Per SimpleTest devi solo eseguire uno script PHP che esegue tutti i test (lato client o browser). Ciò significa che , qualunque sia il browser o le impostazioni del browser che stai utilizzando, puoi semplicemente andare sull'URL di prova e funzionerà allo stesso modo.

Ciò che sarebbe utile qui sono alcuni commenti da persone che hanno usato Selenium o WatiN: perché il selenio è così famoso? In altre parole, quale sarebbe il vantaggio principale dell'utilizzo di Selenium, ad esempio, su SimpleTest?

PS: si prega di escludere motivi come "SimpleTest richiede PHP"; è abbastanza ovvio che PHP è incluso nella maggior parte di LAMP in ogni caso.

risposta

9

pagine Dal SimpleTest tratta solo con il contenuto HTML di una pagina non si può testare con esso che fare affidamento sul comportamento di JavaScript. Alla fine della giornata è un compromesso tra velocità e funzionalità.

  • Se è necessaria la funzionalità JavaScript o si desidera testare il comportamento specifico del browser, utilizzare Selenium.
  • Se si desidera velocità e pagine HTML statiche, utilizzare SimpleTest.

BTW, selenio può essere integrato in una suite di test PHPUnit: http://www.phpunit.de/manual/3.1/en/selenium.html

+0

+1 per JavaScript e AJAX – Wernight

+0

@chiborg Esiste ancora un'estensione per utilizzare SimpleTest Javascript? Grazie in anticipo! – HelpingHand

+0

@HelpingHand Questo sarebbe * molto * difficile da implementare in puro PHP, dal momento che in pratica dovresti creare un browser senza testa. Un incubo da implementare in puro PHP. Dai un'occhiata a Phantom JS (http://phantomjs.org/) che implementa un browser headless basato sul webkit. Dai un'occhiata a un progetto Drupal sperimentale per idee su come integrare SimpleTest e PhantomJS: https://drupal.org/project/simpletest_phantomjs – chiborg

14

C'è una grande differenza tra SimpleTest's web-tester e Selenium suite:

  • Selenio funziona con un vero browser:
    • Ogni volta che viene lanciato un test, un vero e proprio Firefox, o un vero e proprio Internet Explorer, viene lanciato
    • Tutta la navigazione avviene in quel vero browser
    • Il che significa che si ottiene tutto il Javascript funzioni dal browser, ad esempio puoi testare pagine web completamente dinamiche.
  • di SimpleTest web-tester simula un browser:
    • Una richiesta HTTP viene inviato, il contenuto HTML viene recuperata
    • E che il contenuto HTML viene analizzato
    • C'è un certo livello di funzionalità per testare cookie e moduli; ma nulla di Javascript


Un paio di conseguenze e thoughs:

  • test Selenium prendono un sacco di tempo per eseguire: il lancio di un browser e navigare (che include il download del JS/CSS/images, visualizza tutto incluso gli annunci, ...), è lungo e lento
  • test SimpleTest dovrebbero essere più veloce: solo inviare la richiesta HTTP, analizzare il codice HTML, e questo è tutto
  • selenio richiede una macchina con un'interfaccia grafica, per lanciare il browser, che è una grafica Software ; il che significa anche che è più difficile da installare/configurare
  • Selenio permette di testare ricchi/dinamico/applicazioni JavaScript-based molto meglio che solo il recupero e l'analisi HTML
  • Se si sta testando un'applicazione PHP, PHPUnit è generalmente considerato molto meglio (è attivamente mantenuto e sviluppato, almeno) che SimpleTest; e PHPUnit ha il supporto per Selenio test


mi sento di raccomandare un combinaison di entrambi, se potete:

  • prova roba relativi a HTML con SimpleTest (O Zend_Test, se si utilizza Zend Framework):
    • che sarà più veloce
    • tali test non dipenderanno da un browser
    • 0 pagine dinamiche
  • prova con selenio

cioè utilizzano il meglio dei due strumenti ;-)

+0

+1 per JavaScript e AJAX – Wernight

+4

Selenium 2 (WebDriver) può essere una soluzione singola, utilizzando HTMLUnitDriver per testare le pagine senza il sovraccarico di avviare un browser. –

+0

@DaveHunt Bello saperlo. Volevo provare Selenium 2 ma i loro 10 download con poche spiegazioni mi hanno fatto desistere. Aspetterò l'RC della prima versione. – Wernight

0

solo per aggiungere un'altra opzione, testplan funziona sia con il selenio di back-end e HtmlUnit, in modo che possa essere usato con o senza un browser. Il linguaggio di scripting è semplice e consente la rapida creazione di attività di automazione.

Il backend browserless supporta JavaScript molto bene, ma per quei casi in cui non funziona basta passare alla modalità Selenium e utilizzare un browser reale.

+0

http://testplan.brainbrain.net/? – Wernight

0

Si noti inoltre che il più semplice richiede che il database di drupal sia corretto. Non puoi testare il tuo sito su un mirror esatto del tuo sito di produzione.

Saluti.