la sostituzione senza testa di selenio e watir per Rails test e applicazioni Merb
-
19-09-2019 - |
Domanda
Ci sono piani futuri per sostituire il selenio e watir con mechanize + Johnson?
Soluzione
Per il momento, sembra che ci sia più slancio intorno celerità che è un wrapper JRuby intorno HtmlUnit citato da "orip"
Inoltre v'è un wrapper piuttosto pulito "culerity" attorno celerità, che consente di accedere HtmlUnit (in esecuzione Java / JRuby) nella configurazione normale macchina. Culerity è il ponte tra cetriolo e celerità.
Questo è brillante per le prove di scrittura di cetriolo, che consiglio vivamente.
Ecco maggiori informazioni:
http://drogomir.com / blog / 2009/6/16 / cetriolo-e-celerità-test-discreto-javascript
Ed ecco gli esempi culerity: http://github.com/drogus/culerity-javascript-example/tree/ maestro
Ecco il progetto culerity stesso anche con buoni esempi (e bellissimo installare guida) http://github.com/langalex/culerity/tree/master
Una nota alla scadenza di questa configurazione: Ho sperimentato questo un paio di settimane fa. E ho avuto gli esempi culerity installato e funzionante abbastanza facile.
D'altra parte, ho avuto problemi con due cose:
- I voluto che accedere al mio locale applicazione Rails tramite Webrat e corse in problemi con questo -. (L'interfaccia culerity a Webrat non è abbastanza matura a partire dal tempo a scrivere)
- L'approccio sembrava molto più lento rispetto l'esecuzione di test simili con selenio (che inizia un normale browser). Nel mio esempio, il test di selenio era di circa 3-4 volte più veloce di un test culerity.
Alcuni dei miei risultati possono essere il risultato di provare questo fuori sul bordo sanguinamento estrema. Tuttavia, io continuo a pensare che questo sarà il modo, i test del browser senza testa andrà, e, a parte l'interfaccia Webrat / culerity immaturo, probabilmente si potrebbe creare un po 'di suite di test decente sulla base di celerità / HtmlUnit:)
Spero che questo risponde alla tua domanda.
Altri suggerimenti
Un po 'off-topic, ma si può già utilizzare HtmlUnit per un browser headless JS-portante orientata per il test. Utilizzando JRuby si può anche continuare ad usare Ruby.