2010-10-20 2 views
5

Vorrei saperne di più su come utilizzare Selenium IDE e RC per creare buoni test di automazione. C'è qualcuno che è interessato a condividere informazioni. o discuterne? Soprattutto per cose come:Selenio, best practice Nunit?

1) Qual è un buon modo per organizzare i test dell'interfaccia utente? In questo momento sto eseguendo questi test su NUnit e questo esegue i test nell'ordine dei loro nomi alfabetici. C'è un modo migliore. (Sto scrivendo gli script di selenio in C# e non java)

2) Come vengono registrati i risultati?

3) Modularizzare i test RC selenio? Sto avendo un problema qui. Dato che sto eseguendo i miei test su NUnit, l'unico modo che ho potuto immaginare è stato quello di dare gli ID ai test in modo che fossero eseguiti nell'ordine giusto. Inoltre devo scrivere tutti i miei test uno dopo l'altro nella classe textfixture. Di nuovo c'è un modo migliore? Ho provato a creare file aggiuntivi, ma quando creo i test e li seleziono per l'esecuzione in NUnit, sembra che il server di selenio non sia nemmeno avviato.

4) Quali sono le migliori pratiche per i test di automazione? Qualche suggerimento per qualsiasi sito/libro/ecc.?

Queste potrebbero sembrare cose molto semplici ma ho passato settimane a cercare di trovare modi migliori, quindi se qualcuno è disposto a offrire suggerimenti o suggerimenti, lo apprezzerò davvero!

Grazie!

risposta

8

Ho risposto a ciascuna delle domande per voi qui sotto.

  1. I test non dovrebbe importare circa l'ordine che corrono. Se si inizia a preoccuparsi che si sta per avviare l'introduzione flakiness di test. Se devi effettuare il login con ogni test, se hai bisogno di registrare un numero di utenti durante i tuoi test, fallo. I test dovrebbero sempre essere in grado di funzionare da soli.

  2. Nunit registra i risultati in un file XML. Questo avrà un elenco dei passaggi e non riesce ed è normalmente reso in un bel modo di quasi tutte continuo

  3. Vedere la mia risposta per Best Practices for modularizing Selenium RC test scripts

    • test dovrebbero sempre avere un noto punto di partenza. Nel contesto di Selenium ciò potrebbe significare l'apertura di una determinata pagina per avviare un flusso di lavoro.
    • I test non devono basarsi su altri test da eseguire. Se un test sta per aggiungere qualcosa, non hai un test separato per eliminarlo. Questo per garantire che se qualcosa va storto in un test non significa che si debbano verificare molti errori non necessari.
    • I test dovrebbero testare solo una cosa alla volta.
    • I test dovrebbero ripulire se stessi.
+0

Grazie per la tua risposta ben formulata e ben formattata! – Saavik

1

Se desideri utilizzare Selenium, posso suggerire invece di utilizzare il front-end TestPlan anziché un'altra lingua. In aggiunta a un linguaggio specifico del dominio offre una buona gestione dei casi di test. È possibile organizzare i test in una gerarchia piacevole e li eseguirà tutti e riportare i risultati.

Ci si prende cura di molti dettagli sul lancio di Selenium e si attenua su molte difficoltà nell'API RC.

+0

Grazie, lo esaminerò. – Saavik

1

Ho appena ha attraversato questo. In termini di modularizzazione e strumenti utili. Penso che sia molto importante pensare di più alla costruzione di un framework di test dell'interfaccia utente automatizzato e ben mantenuto rispetto alla semplice modularizzazione degli script RC del selenio. Selenium 2: Testing Tools Begginner's Guide è stato un ottimo inizio per l'idea di come iniziare a costruire un buon framework di test. Ho avuto MOLTO successo con il (modello oggetto pagina) [https://code.google.com/p/selenium/wiki/PageObjects] dopo aver fallito 2-3 volte per far funzionare un framework di test automatizzato. In termini di processo, ho trovato il modo migliore di iniziare scrivendo il codice (stai scrivendo dei test, quindi dovrebbe essere abbastanza facile da testare), ma rifattiamo in modo aggressivo usando un buon OOP quando i modelli e le strutture iniziano a crescere. Vorrei anche raccomandare How Google Tests Software per la motivazione del Software QA in generale, buone pratiche di test a livello organizzativo e quando e quando non usare l'automazione.