Domanda

Il mio attuale progetto usa NUnit per unit test e per guidare UAT scritti con Selenium. Gli sviluppatori eseguono normalmente test utilizzando il test runner di ReSharper in VS.Net 2003 e la nostra casella di build li avvia tramite NAnt.

Vorremmo eseguire i test UAT in parallelo in modo da poter sfruttare la Selenium Grid / RCs in modo che possano funzionare molto più velocemente.

Qualcuno ha qualche idea su come raggiungere questo obiettivo? e / o best practice per testare i test Selenium su più ambienti browser senza scrivere automaticamente test duplicati?

Grazie.

È stato utile?

Soluzione

Non c'è stato molto lavoro su questo argomento. Non ho trovato nulla di veramente rilevante.

Tuttavia, il tuo punto è ben preso. La maggior parte delle macchine al giorno d'oggi hanno più core e meno potenti rispetto alla potente CPU a un core.

Quindi ho trovato qualcosa su un blog Microsoft. La tecnologia si chiama PUnit ed è realizzata appositamente per testare ambienti multi-thread.

È il più vicino possibile a ciò che mi hai chiesto di trovare :)

Puoi visitare il post sul blog appropriato proprio qui: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Aggiornamento: il collegamento non è più valido. Il progetto su CodePlex è stato rimosso.

Aggiornamento2: si trova sulla tabella di marcia per NUnit 2.5. Riferimento

Altri suggerimenti

Ho lottato con entrambi questi problemi da solo. Alla fine ho sviluppato un runner di test Nunit personalizzato in grado di eseguire più test in parrallel. Questo, combinato con l'estensione Taumuon.Rakija per nunit, ha permesso di creare dinamicamente i test a seconda del browser su cui si desidera eseguire il test.

Ora sono in una posizione in cui posso avviare la mia suite di test su tutti i tipi di browser su tutti i sistemi operativi che desidero in parrallel.

Purtroppo non sembra esserci già una buona soluzione a questi problemi, quindi probabilmente dovrai risolverli tu stesso per il tuo ambiente particolare.

NUnit versione 3 supporterà l'esecuzione di test in parallelo, questo funziona bene con una griglia Selenium:

Aggiunta dell'attributo a una classe: [Parallelizable (ParallelScope.Self)] eseguirà i test in parallelo con altre classi di test.

  

& # 8226; ParallelScope.None indica che il test non può essere eseguito in parallelo   con altri test.

     

& # 8226; ParallelScope.Self indica che il test   stesso può essere eseguito in parallelo con altri test.

     

& # 8226; ParallelScope.Children indica che i discendenti del test possono   essere eseguito in parallelo l'uno rispetto all'altro.

     

& # 8226; ParallelScope.Fixtures indica che le fixture possono essere eseguite in parallelo   tra loro.

NUnit Framework-Parallel-Test-Execution

Igor Brejc ha pubblicato un post sul blog sull'esecuzione di test in parallelo usando MbUnit.

Tuttavia, dice "Una volta integrato il selenio nei test di accettazione", quindi sembra che stesse solo sperimentando, non riesco a trovare altri post, quindi non so se ha eseguito correttamente i test del selenio in parallelo .

http://igorbrejc.net/development/continuous -integrazione / gallio-running-test-in-parallelo

È possibile utilizzare la Libreria parallela attività e la classe DynamicObject per ottenere la parallelizzazione dello stesso test su più browser. Vedi il mio articolo Esecuzione del selenio in parallelo con qualsiasi strumento .NET Unit Testing per i dettagli.

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