2009-04-30 19 views
31

Quali sono i buoni strumenti di test dell'interfaccia utente Web automatizzati?Test UI Web automatizzato

Voglio essere in grado di usarlo nel mondo .Net - ma non deve essere scritto in .net.

Caratteristiche come una modalità di registrazione, integrazione nel processo di build \ integrazione continua sarebbe bello.

Im andando a guardare:

Ce ne sono altri che dovrei guardare?

+1

Come dice Chad Grant, se sei nel mondo .Net dovresti guardare WatiN piuttosto che Watir. Vedi anche questa domanda: http://stackoverflow.com/questions/606550/watir-vs-selenium-vs-sahi – AakashM

risposta

19

mi raccomando definitivamente Selenio, è possibile utilizzarlo da .NET, supporta diversi browser, lavora a costruisce automatico e processi di CI (lo usiamo da CCNet). Il codice è stabile. Ha qualche stranezza, ma in fondo fanno tutti.

Qualunque strumento si scelga, consiglio di creare le proprie classi di facciata di prova attorno ad esso. La facciata deve essere progettata per soddisfare le esigenze di test concreti, senza esporre troppo i dettagli dell'API dello strumento di test. Ciò renderà il codice di test più facile da scrivere e mantenere.

AGGIORNAMENTO: se si utilizza lo stato di visualizzazione ASP.NET nell'app, è possibile che si verifichino problemi utilizzando uno strumento di test HTTP puro. È qui che i controller del browser (come il Selenium) sono molto meglio.

1

Dipende da ciò che si desidera ottenere.

È possibile utilizzare il test Web incorporato in Visual Studio Tester Edition. È abbastanza buono e facile da automatizzare. È possibile utilizzare dati esterni come origine dati di test e si integra bene con VS.

C'è anche uno strumento di test di QA automatico (dimenticato il nome) che sembra buono ma costoso.

E c'è il selenio. Questo è quello che stiamo usando in Symantec. Il più grande vantaggio è che in realtà utilizza un browser che vuoi testare. VS imita un browser cambiando i parametri di richiesta http, quindi potresti non essere in grado di testare il tuo sito per la compatibilità tra browser. Il selenio invece utilizza il browser e lo automatizza in modo da poter effettivamente testare il tuo sito in IE, Firefox, ecc. Può anche essere integrato con i test delle unità VS in modo da poter vedere i risultati dei test in VS.

Quindi consiglierei selenio o VS.

3

WatiN

automatizza FF e IE

[Test] 
public void SearchForWatiNOnGoogle() 
{ 
using (IE ie = new IE("http://www.google.com")) 
{ 
    ie.TextField(Find.ByName("q")).TypeText("WatiN"); 
    ie.Button(Find.ByName("btnG")).Click(); 

    Assert.IsTrue(ie.ContainsText("WatiN")); 
} 
} 

http://watin.sourceforge.net/

2

si potrebbe anche essere interessato a dare un'occhiata a quello che il team ASP.NET cucinato per sé: Lightweight Test Automation Framework.

C'è anche un forum dedicato per questo.

+0

Link migliore: http://aspnet.codeplex.com/releases/view/35501 – tster

1

Ho usato il selenio. Le caratteristiche erano buone, ed era utilizzabile ma era buggy.

L'IDE registrava spesso eventi non corretti (quindi i test avrebbero dovuto essere modificati manualmente) e i file di test occasionalmente sono diventati completamente inutilizzabili senza alcun motivo apparente, il che significava che avrebbero dovuto essere ricreati di nuovo. Anche lo sviluppo su Selenium IDE sembra essersi fermato; non ci sono state correzioni di bug e patch per un po ', e le segnalazioni di bug sembrano passare inosservate.

Il molibdeno è un'alternativa, costruita su selenio che vale la pena esaminare.

http://www.molyb.org/

1

Basta buttare via un'altra opzione (di cui non ho provato, ma mi piace Telerik) è Telerik di nuova WebUI Testing Studio. Farò anche eco al voto di Selenium.

+0

Inizia a $ 2500 . È molto meglio delle alternative gratuite? – GaTechThomas

2

Attualmente nel mio lavoro io uso QTP e fino ad ora può gestire praticamente tutto ciò che gettiamo sia sull'interfaccia utente che ha una modalità speciale per testare servizi non gui che ci permettono di controllare entrambi e aiutarci a restringere dove si verificano alcuni problemi quando cambiamo il sistema. È a mio avviso molto configurabile e l'inclusione di vbscript come lingua consente l'integrazione con un sacco di cose su Windows per permetterti di fare praticamente tutto quello che vuoi! Ad esempio, lo usiamo per controllare l'oggetto excel com per creare report Excel personalizzati di successo e fallimento in modo che il formato dei risultati sia lo stesso se un test è stato eseguito manualmente e anche su un altro progetto ha utilizzato l'oggetto adodb per verificare che quando una pagina invia informazioni al database che il database contiene i dati corretti per quel record!

Per quanto riguarda l'integrazione nel processo di generazione non l'ho provato da solo, ma è possibile avviare qtp e un test da un file vbs quindi presumo che questo dovrebbe essere abbastanza banale come strumenti ms tendono a consentire di eseguire vbs file abbastanza facilmente dalla maggior parte degli strumenti.

Lo consiglierei a chiunque presumendo che si possa ottenere qualcuno che acquisti la licenza!

0

Se siete alla ricerca di uno strumento cross-browser semplice con registrazione e riproduzione, riproduzione multithread, integrazione con i processi di compilazione, scripting potente, buona segnalazione e supporto eccellente, andare su Sahi. Sarà molto più facile per i tuoi tester/sviluppatori imparare e mantenere.

0

si potrebbe prendere in considerazione vicino Selenium anche Rational Functional Tester! se hai familiarità con la codifica in .Net o Java e vuoi semplicemente giocare con la registrazione & o vuoi creare test programmatici più sofisticati, lo consiglierei.

0

Prova QEngine. Ha tutte le caratteristiche di QTP.

+0

Questo strumento ha raggiunto il suo EOL, in base al sito collegato. – jcollum

3

Watin è piuttosto instabile per utilizzarlo in progetti seri. Spesso fallisce con motivi inaspettati come "EI è occupato" o qualcosa come "Errore con oggetto COM". Il selenio è molto più stabile e ha già molti strumenti di supporto. Ad esempio Selenium GRID è una soluzione che consente di ridurre significativamente i tempi di esecuzione dei test. (I nostri test del fumo su Watin impiegano 6 ore per funzionare).

+1

Anche io sto riscontrando problemi costanti con Watin che è instabile (frequenti eccezioni COM) e IE9 che si blocca sotto Watin. –

2
0

Si consiglia di guardare RIATest per cross-brow cross-platform test delle applicazioni web.

Funziona su Windows e Mac, i browser supportati sono Firefox, IE e Chrome. Gli script di test automatici scritti su una piattaforma/browser possono essere eseguiti su tutte le altre piattaforme/browser supportati.

Dispone delle funzionalità desiderate: modalità di registrazione dell'interazione utente e integrazione con i server CI (le uscite producono il formato JUnit che può essere utilizzato dai server CI come Hudson).

(Disclaimer: Sono un membro del team RIATest).

2

Dopo aver utilizzato diverse soluzioni di test automatizzate (TestComplete, QTP, ecc.), Devo mettere un voto per Telerik + Visual Studio. Telerik ha grandi forum di supporto ed è molto compatibile con qualsiasi framework di testing che si presenta. I nostri Devs inseriscono ID univoci nel loro codice HTML in modo che i nostri script non debbano essere riscritti anche con i refri- geratori UI piuttosto drastici. È decisamente più impegnativo rispetto alla registrazione e alla riproduzione, ma una volta che i tuoi ID univoci sono stati installati, il codice di automazione richiede poca o nessuna manutenzione.

Problemi correlati