Domanda

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

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

Funzionalità come la modalità di registrazione, l'integrazione nel processo di creazione \ integrazione continua sarebbero utili.

Guarderò:

Ce ne sono altri che dovrei guardare?

È stato utile?

Soluzione

Consiglio definitivamente Selenium, puoi usarlo da .NET, supporta diversi browser, funziona con build automatiche e processi CI (lo usiamo da CCNet). Il codice è stabile Ha alcune stranezze, ma dopo tutto lo fanno tutti.

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

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

Altri suggerimenti

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/

Watin è piuttosto instabile per usarlo in progetti seri. Spesso fallisce per motivi imprevisti come "EI è occupato" o qualcosa di simile a " Errore nell'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 il tempo di esecuzione dei test. (I nostri test del fumo su Watin richiedono 6 ore per essere eseguiti).

Attualmente nel mio lavoro utilizzo QTP e finora almeno in grado di gestire praticamente tutto ciò che ci viene lanciato sull'interfaccia utente e ha una modalità speciale per testare i servizi non gui che ci consentono di controllare entrambi e aiutare ci restringiamo dove si verificano alcuni problemi quando cambiamo il sistema. È a mio avviso molto configurabile e l'inclusione di vbscript come suo linguaggio consente l'integrazione con un sacco di cose su Windows per permetterti di fare praticamente tutto quello che vuoi! Ad esempio, lo utilizziamo per controllare l'oggetto com Excel per creare report excel personalizzati di successo e insuccesso, quindi il formato dei risultati è lo stesso se un test è stato eseguito manualmente e anche su un altro progetto ha usato 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 compilazione, non ho provato questo da solo, ma è possibile avviare qtp e un test da un file vbs, quindi suppongo che questo dovrebbe essere abbastanza banale poiché gli strumenti ms tendono a permetterti di eseguire file vbs abbastanza facilmente dalla maggior parte degli strumenti.

Lo consiglierei a chiunque supponga che tu possa convincere qualcuno ad acquistare la licenza!

potresti anche essere interessato a dare un'occhiata a ciò che il team ASP.NET ha elaborato da solo: Lightweight Test Automation Framework .

C'è anche un forum dedicato dedicato .

Dopo aver utilizzato diverse soluzioni di test automatizzati (TestComplete, QTP, ecc.), devo votare per Telerik + Visual Studio. Telerik ha ottimi forum di supporto ed è molto compatibile con qualunque framework di test ti venga in mente. I nostri sviluppatori inseriscono ID univoci nel loro codice HTML in modo che i nostri script non debbano essere riscritti anche con i refactor UI piuttosto drastici. È sicuramente più impegnativo di registrazione e riproduzione, ma una volta che hai i tuoi ID univoci in atto, il codice di automazione richiede poca o nessuna manutenzione.

Dipende da ciò che vorresti 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 perfettamente con VS.

Esiste anche uno strumento di test di QA automatizzato (dimenticato il nome) che sembra buono ma costoso.

E c'è il selenio. Questo è quello che stiamo usando in Symantec. Il più grande vantaggio è che utilizza effettivamente un browser che si desidera testare. VS imita un browser modificando i parametri di richiesta http solo in modo da non essere in grado di testare la compatibilità del tuo browser tra i browser. Il selenio d'altra parte 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 unitari VS in modo da poter vedere i risultati dei test in VS.

Quindi consiglierei Selenium o VS.

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

L'IDE spesso registrava gli eventi in modo errato (quindi i test dovevano essere modificati manualmente) e, occasionalmente, i file di test diventavano completamente inutilizzabili senza motivo apparente, il che significava che dovevano essere ricreati di nuovo. Anche lo sviluppo su Selenium IDE sembra essersi fermato; non ci sono state correzioni e patch da un po 'di tempo e le segnalazioni di bug sembrano passare inosservate.

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

http://www.molyb.org/

Solo per lanciare un'altra opzione (di cui non ho provato ma mi piace Telerik) è il nuovo WebUI Testing Studio . Farò anche eco ai voti del Selenio.

Ho dimenticato uno strumento carino e posso trovare il link su di esso ma trovo questo ... http://weblogs.asp.net/bsimser/archive/2008/02/21/automated-ui-testing-with-project-white.aspx forse può aiutare.

Se stai cercando uno strumento semplice, cross-browser con registrazione e riproduzione, riproduzione multithread, integrazione con processi di compilazione, script potenti, buoni rapporti e supporto eccellente, vai a Sahi . Sarà molto più facile per i tuoi tester / sviluppatori imparare e mantenere.

potresti prendere in considerazione vicino a Selenium anche Rational Functional Tester! se hai familiarità con la codifica in .Net o Java e vuoi semplicemente giocare con record & amp; replay o voglio creare test programmatici più sofisticati, lo consiglierei.

WebDriver è un'altra possibilità: http://code.google.com/p/webdriver

Stanno lavorando su un wrapper .NET che potrebbe essere interessante per te.

Prova QEngine . Ha tutte le funzionalità di QTP.

Potresti voler guardare RIATest per cross-platform cross -browser testing di applicazioni web.

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

Ha le funzionalità desiderate: modalità di registrazione delle interazioni dell'utente e integrazione con i server CI (l'output risulta in formato JUnit che può essere utilizzato da server CI come Hudson).

(Dichiarazione di non responsabilità: sono un membro del team RIATest).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top