qtp tutorial 18 data driven
Stiamo lavorando per capire come derivare in un file Framework di automazione che funziona meglio per un certo progetto di test e definisce anche alcuni framework già esistenti.
L'esempio che stavamo utilizzando in precedente articolo sul framework QTP stava creando un nuovo account Gmail.
Per cominciare, abbiamo codificato la creazione di un nuovo scenario di account semplicemente registrando e riproducendo in modo lineare. Vedendo come mancava di modularità, leggibilità e riusabilità, l'abbiamo suddiviso in funzioni che sarebbero state indicate come parole chiave in futuro.
=> Fare clic qui per la serie di tutorial di formazione QTP
Grazie a questo metodo abbiamo ottenuto modularità, leggibilità e riusabilità, ma dovevamo rendere il programma ancora più robusto in modo che potesse accettare diversi set di valori senza dover modificare lo script stesso.
Questo è esattamente ciò che otterremo dai dati che guidano i test.
Cosa imparerai:
- Framework di automazione basata sui dati che utilizza QTP
- Framework ibrido
- Conclusione
- Lettura consigliata
Framework di automazione basata sui dati che utilizza QTP
La creazione di più account utente Google è l'attività che cercheremo di eseguire utilizzando questo framework.
Nell'esempio precedente, abbiamo codificato il nome, il cognome, i dettagli dell'ID utente, ecc. Nel nostro codice durante il tentativo di creare un account. Dovremo separare il codice dai dati se dobbiamo ottenere l'aspetto di guida dei dati per questo script.
I dati dovrebbero provenire da una fonte che non è il programma stesso.
In genere l'input dei dati può essere qualsiasi cosa:
- File MS Excel
- Banca dati
- File di testo
- File XML… .etc.
I file Excel sono quelli che vengono utilizzati più spesso. Il fatto stesso che ogni azione in QTP sia integrata con una propria scheda tecnica spiega perché è così.
java crea un array di oggetti
È possibile utilizzare una o più origini dati per un singolo script. È possibile utilizzare il foglio Excel fornito con l'azione oppure è possibile utilizzare anche un foglio Excel esterno. Fondamentalmente, una scheda tecnica può essere qualsiasi file esterno pertinente.
Per esempio,
Questo è il codice di cui abbiamo bisogno per guidare i dati:
Browser('Gmail: Email from Google').Page('GoogleAccounts').WebEdit('FirstName').Set 'swati' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set 's' Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set 'test'
Tutti i dati in questo momento sono codificati. Vediamo ora come possiamo prendere questi valori dal datasheet.
Vai alla visualizzazione esperto per la dichiarazione in QTP e fai clic sulla colonna del valore per un passaggio. Si apre la seguente finestra:
Seleziona l'opzione del parametro, scegli un nome per il parametro (questo sarà il nome della colonna nel foglio dati) e scegli se utilizzerai il foglio globale o il foglio locale (il foglio globale è disponibile per tutte le azioni in un test, ma il foglio locale è specifico per l'azione corrente).
Per il campo 'Nome' nella schermata, QTP fornisce un valore predefinito. L'utente ha la possibilità di mantenerlo uguale o cambiarlo.
Facendo clic su OK, viene creata una nuova colonna nella tabella dei dati.
Ecco come appare il foglio dati che contiene 3 set di nome, cognome e ID account:
Una volta parametrizzato, il codice ha il seguente aspetto:
Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('FirstName').Set DataTable('G_First_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('LastName').Set DataTable('G_Last_Name', dtGlobalSheet) Browser('Gmail: Email from Google').Page('Google Accounts').WebEdit('GmailAddress').Set DataTable('gmail_address', dtGlobalSheet)
Se dobbiamo creare questi 3 ID utente con i dati nei fogli, dobbiamo avere 3 iterazioni. L'iterazione non è altro che un test.
Una volta impostati i dati, dovremo istruire QTP su quante volte questo codice deve essere eseguito o quante iterazioni.
Ecco come lo facciamo: vai a File-> Impostazioni ed esegui (Clicca sull'immagine per ingrandirla)
in scrum che è responsabile di non fornire requisiti complessi in tempo
Nella schermata sopra, impostare le proprietà di iterazione come richiesto.
In alternativa, puoi istruire QTP sulle iterazioni a livello di programmazione. Come sempre, questo consente un maggiore controllo e anche maggiori capacità di programmazione. Quindi spetta davvero al livello di comfort del tester scegliere uno di questi metodi.
I componenti in un framework basato sui dati sono:
- Script di test
- File di dati
- Libreria funzionale condivisa (se esiste o potrebbe essere un programma lineare)
- Repository di oggetti (anche in questo caso, questo componente non esisterà se la programmazione descrittiva è stata utilizzata per creare oggetti)
I risultati del test mostreranno lo stato 'Superato' o 'Non superato' per ogni esecuzione del test.
Oltre alla tabella dati fornita di default, possiamo utilizzare qualsiasi file excel esterno come foglio di input.
Framework ibrido
Nell'esempio precedente hai utilizzato parole chiave (nomi delle funzioni che l'utente ha creato) e hai eseguito il test basato sui dati per assicurarti che diversi utenti vengano creati contemporaneamente. Questo non è altro che un framework ibrido.
La combinazione di due o più framework di cui abbiamo discusso finora è un framework ibrido.
Nella mia esperienza, nessun framework funziona efficacemente per un determinato progetto. Il framework ibrido è ciò che viene utilizzato più spesso.
Alcuni punti importanti sui framework:
- Il framework è solo una soluzione che ha funzionato meglio in una determinata situazione ma non deve essere interpretato come un insieme di regole da seguire in modo definitivo. Dovrebbe essere visto più come linee guida.
- Potrebbero esserci molti altri framework in uso, abbiamo solo elencato e spiegato quelli comuni
- Nomenclatura: persone diverse si rivolgono ai loro quadri con nomi diversi. Quindi, se i nomi sono leggermente diversi da un'applicazione all'altra, è normale.
- La maggior parte dei framework possono essere utilizzati insieme tra loro quando nessuno di essi può fornire una soluzione completa ai tuoi obiettivi di test.
Conclusione
Per motivi di facile comprensione, qui abbiamo davvero semplificato i concetti del framework. Se riscontri problemi relativi al framework che non sono trattati in questi articoli, faccelo sapere. Cercheremo sicuramente di rispondere alle tue domande. Non esitate a inviare le vostre domande.
=> Visita qui per la serie di tutorial di formazione QTP
Lettura consigliata
- Framework QTP - Framework di automazione del test - Esempi di framework guidati da parole chiave e lineari - Tutorial QTP # 17
- Come funziona il test basato sui dati (esempi di QTP e selenio)
- Data Driven Framework in Selenium WebDriver utilizzando Apache POI
- Test basato sui dati o parametrizzato con Spock Framework
- Come eseguire test basati sui dati utilizzando lo strumento TestComplete
- Tutorial QTP - Oltre 25 tutorial di formazione Micro Focus Quick Test Professional (QTP)
- Data mining: processo, tecniche e problemi principali nell'analisi dei dati
- Parametrizzazione in QTP spiegata con esempi (Parte 1) - Tutorial QTP # 19