qtp tutorial 23 qtp smart object identification
In questo tutorial QTP impareremo: l'identificazione degli oggetti intelligenti, l'aggiunta del punto di sincronizzazione, l'esecuzione di un test e la visualizzazione dei risultati e il runner del test silenzioso.
=> Fare clic qui per la serie di tutorial di formazione QTP
Supponiamo una situazione in cui nessun oggetto corrisponde o più oggetti corrispondono alla descrizione registrata per un oggetto durante il runtime, come la gestisce QTP?
Cosa imparerai:
- Identificazione intelligente
- Punto di sincronizzazione
- Esecuzione di un test
- Risultati del test
- Transazioni
- Silent Test Runner
- Lettura consigliata
Identificazione intelligente
QTP ha un meccanismo in atto per casi esattamente come questo. Se la descrizione registrata non consente a QTP di identificare l'oggetto specificato in un passaggio e una definizione di identificazione intelligente è definita (e abilitata) per l'oggetto, QTP cerca di identificare l'oggetto utilizzando 'Identificazione intelligente'.
Vediamo come funziona con alcuni esempi. Per ogni oggetto, ci sono proprietà primarie e proprietà secondarie.
Esempio 1: L'oggetto con la descrizione registrata non è stato trovato.
In una pagina c'era un pulsante e le seguenti sono proprietà:
- Primaria: nome
- Secondario: Abs x, y
Durante la registrazione la proprietà 'Nome' era 'ID di accesso'. A causa di alcune modifiche all'applicazione, la proprietà 'Nome' è ora cambiata in 'ID utente'. In questo caso, QTP troverà un pulsante con una descrizione diversa e dovrebbe fallire se considera solo le proprietà primarie.
Ma in casi come questo, quando le proprietà primarie non corrispondono, controlla quelle secondarie e se corrispondono riconosce l'oggetto. In questo caso, riconoscerà il pulsante dalle sue coordinate X e Y.
Esempio 2: QTP avrebbe dovuto trovare una pagina X e ci sono 2 pagine con impostazioni del browser simili.
Anche in questo caso cerca di utilizzare il “nome” o altre proprietà per trovare la pagina / le pagine giuste e funziona di conseguenza.
I 2 precedenti sono esempi di casi in cui QTP impegna il meccanismo di identificazione intelligente.
- I risultati del test mostreranno anche se un passaggio ha utilizzato l'identificazione intelligente per essere eseguito correttamente.
- Se QTP non riesce a trovare l'oggetto nonostante Smart Identification, il test fallisce.
Per la maggior parte degli oggetti, QTP fornisce proprietà di filtro di base predefinite (primaria) e proprietà di filtro opzionali (secondarie) che controlla se abilitiamo l'identificazione intelligente per loro. L'utente ha la possibilità di modificare anche le proprietà da considerare. Per farlo, vai a ' Strumenti-> Identificazione oggetto ' .
Scegli l'ambiente pertinente dal menu a discesa e scegli la classe di oggetti. Una volta scelto, seleziona 'Abilita identificazione intelligente' e fai clic su 'Configura'.
Fare clic su Aggiungi o Rimuovi
Seleziona le proprietà come richiesto:
che cos'è uno strumento di raccolta dati
Effettua la selezione e fai clic su OK quando hai finito.
Il processo di cui sopra garantirà che la prossima volta che avrà difficoltà a identificare un oggetto di questa classe, utilizzerà un'identificazione intelligente per farlo.
Inoltre, per la maggior parte degli oggetti 'Identificazione intelligente' è attivata per impostazione predefinita. Puoi vedere dove questo è il caso per un determinato oggetto accedendovi in OR nella parte 'Ulteriori dettagli' delle sue proprietà dell'oggetto.
È impostato su 'True' se abilitato e 'False' se disabilitato.
È anche possibile scegliere di abilitare o disabilitare completamente l'identificazione intelligente per una corsa di prova. Scegliere ' File-> Impostazioni-> Esegui-> Disabilita identificazione intelligente durante la sessione di corsa ' opzione.
Punto di sincronizzazione
Considera questo programma,
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
In un mondo ideale, non appena si preme il pulsante 'Accedi' nella pagina di accesso a Gmail, la 'Posta in arrivo' dovrebbe essere visualizzata senza ritardi. Ciò significa che lo stato dell'applicazione è pronto per l'ultima istruzione del nostro esempio da eseguire immediatamente dopo l'esecuzione dell'ultima istruzione.
Ma in tempo reale, per molti motivi, le applicazioni non vengono sempre caricate alla stessa velocità. Se non chiediamo a QTP di aspettare un po 'prima che vada avanti. Più specificamente fino a quando un oggetto raggiunge un certo stato.
Un punto di sincronizzazione viene utilizzato per istruire QTP ad attendere fino a quando una particolare proprietà dell'oggetto raggiunge il valore specificato.
Quando si inserisce un punto di sincronizzazione, nel test viene inserita un'istruzione 'Wait Property'.
Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visibile”,true,20
Quindi il tuo nuovo programma avrà un aspetto simile a questo: (riga # 6 sotto)
SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' Browser('Gmail: Email from Google').page('Gmail: Email from Google').Sync Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Email').Set 'swatiseela' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebEdit('Passwd').SetSecure 'sfgs686898' Browser('Gmail: Email from Google').Page('Gmail: Email from Google').WebButton('Sign in').Click Browser('Gmail: Email from Google').Page('Gmail - Inbox'). Link('Sign out').WaitProperty “Visible”,true,1000 Browser('Gmail: Email from Google').Page('Gmail - Inbox').Link('Sign out').Click
Può essere inserito durante la registrazione utilizzando l'opzione di menu ' Inserisci-> Punto di sincronizzazione ' . Scegli l'oggetto per inserire il punto di sincronizzazione.
Immettere il valore come richiesto:
Questa è l'affermazione che viene inserita:
Browser('Gmail - Inbox').Page('Gmail - Inbox').Link('Sign out').WaitProperty 'visible', true, 10000
Esecuzione di un test
# 1) Automazione-> Esegui o F5 in genere esegue l'intero test.
#Due) Puoi eseguire una parte del test scegliendo 'Automazione-> Esegui azione corrente' opzione
# 3) Puoi eseguire un test da un certo punto del tuo test scegliendo il ' Automazione-> Esegui dal passaggio ' opzione.
# 4) Non appena si sceglie uno dei modi sopra indicati per eseguire un test, verrà richiesto di scegliere la posizione in cui si desidera memorizzare i risultati del test. È possibile scegliere la cartella scegliendo la prima opzione, nel qual caso i risultati verranno archiviati per ogni istanza dell'esecuzione di test.
Ma se scegli l'opzione successiva, una cartella temporanea, i risultati vengono sovrascritti e solo il risultato dell'ultima esecuzione di test verrà memorizzato nella cartella scelta. In termini di memoria, è consigliabile utilizzare la seconda opzione durante il test del test QTP. A meno che tu non voglia i risultati di ogni esecuzione di test, non scegliere la prima opzione perché ovviamente utilizzerà molto spazio.
# 5) Parametri di input: se i parametri di input del test sono stati definiti per questo test, questa scheda è il punto in cui vengono forniti.
# 6) Puoi anche eseguire un paio di test contemporaneamente in un batch. QTP ha uno strumento 'Batch Runner'. È anche uno strumento esterno proprio come uno 'strumento di codifica della password' di cui abbiamo discusso in precedenza.
# 7) Per avviare, vai a ' Programmi> QuickTest Professional> Strumenti> Test Batch Runner '. Crea un batch (.mtb) usando
# 8) Dopo aver creato un elenco, eseguire il batch utilizzando icona. Al termine dell'esecuzione batch, è possibile visualizzare i risultati di ciascun test nella cartella dei risultati del test predefinita ( res # report ).
Risultati del test
Nei nostri articoli finora, se stiamo discutendo iterazione della tabella dati , posti di blocco , identificazione intelligente o in generale l'esecuzione della fase del test, i risultati del test sono il luogo in cui puoi vedere se qualcosa ha avuto successo o meno.
Oltre a quanto sopra, i risultati del test possono contenere lo screenshot del tuo AUT quando si verifica un errore. Dipende dalle impostazioni in ' File-> Impostazioni-> Esegui '.
Il tester può stampare ed esportare i risultati dei test.
c ++ come creare un makefile
Per rendere i risultati del test più comprensibili, l'utente può scrivere i suoi commenti nei risultati del test.
Per esempio, se una certa condizione fallisce nel test, potresti voler scrivere nei risultati del test che 'Non ha funzionato per il valore X'. Puoi farlo utilizzando l'istruzione 'reporter.reportevent'. La seguente è la sintassi:
Reporter.Reportevent (stato evento, nome passaggio reporter, dettagli)
Stato dell'evento: MicPass, MicFail, MicWarning, MicDetail, i prossimi due parametri possono essere qualsiasi testo che aiuti a includere ulteriori dettagli.
Se questa è la mia dichiarazione e la eseguo:
reporter.ReportEvent micPass, 'Swati’s First Step', 'Superato perché gli ho detto di passare ...'
I risultati del test saranno simili a questo: (clicca per ingrandire l'immagine)
Transazioni
Poiché questa non è una funzionalità molto utilizzata, farò qui un'introduzione di alto livello.
Tipicamente, un test è diviso in transazioni quando devi misurare quanto tempo ci vuole per eseguire una determinata sezione di esso.
Viene anche utilizzato quando un test QTP deve essere utilizzato da Load Runner o Business Process Monitor. In entrambi i casi, il test deve essere registrato in termini di transazione e qualsiasi cosa al di fuori di essa verrà ignorata.
Puoi avviare una transazione da QTP utilizzando ' Inserisci-> Avvia transazione ' . Dagli un nome, scegli se lo vuoi prima o dopo il passaggio corrente e scegli OK.
Services.StartTransaction 'TransactionTest' - Viene inserito. Ora registrerò un accesso a Gmail.com.
Una volta terminata la registrazione. Scegliere ' Inserisci-> Fine transazione ' . Fare clic su OK.
Services.EndTransaction 'TransactionTest' - viene inserito.
Questo è il codice:
Ora eseguirò questo test. Vediamo come appaiono i risultati del test. I risultati mostreranno un riepilogo in termini di tempo impiegato per completare la transazione.
Silent Test Runner
Un altro strumento fornito da QTP è il Silent Test runner. Ciò consente al tester di eseguire il test senza dover avviare QTP. Aiuta anche a simulare le esecuzioni QTP dal load runner e verificarne la compatibilità con lo stesso.
Non funzionerà se QTP è già aperto e un altro test è in esecuzione tramite esso.
Uso Inizio > Programmi > QuickTest Professional > Utensili > Silent Test Runner comando di menu per richiamarlo. Seleziona il test e fai clic su 'Esegui test'
Ecco come appare durante l'esecuzione del test:
Una volta completato:
Registro di esecuzione del test:
Il 'Riepilogo transazione' verrà attivato se il test contiene almeno una transazione.
Siamo ora giunti alla fine di questo tutorial e abbiamo trattato alcuni argomenti vari QTP qui. Spero che questo sia utile a tutti voi.
come riprodurre un file mkv
Non esitate a pubblicare commenti e domande.
=> Visita qui per la serie di tutorial di formazione QTP
Lettura consigliata
- Repository di oggetti in QTP - Tutorial # 22
- Tutorial QTP n. 7 - Paradigma di identificazione degli oggetti QTP - In che modo QTP identifica gli oggetti in modo univoco?
- Tutorial QTP n. 8 - Informazioni sulle modalità di registrazione QTP, spia di oggetti e repository di oggetti
- Parametrizzazione in QTP (Parte 2) - Tutorial QTP # 20
- Tutorial QTP n. 18 - Framework basati sui dati e ibridi spiegati con esempi QTP
- Parametrizzazione in QTP spiegata con esempi (Parte 1) - Tutorial QTP # 19
- Tutorial QTP - Oltre 25 tutorial di formazione Micro Focus Quick Test Professional (QTP)
- Tutorial QTP n. 6 - Comprensione del record QTP e delle impostazioni di esecuzione per il nostro primo test