Azioni dentro QTP/UFT con l'esempio

โšก Riepilogo intelligente

Azioni dentro UFT/QTP Suddividere uno script di test in unitร  logiche e riutilizzabili consente ai tester di creare, gestire e condividere l'automazione piรน rapidamente. Questa pagina spiega i tre tipi di azioni, come suddividerle e richiamarle e come passare dati tra le azioni.

  • ๐Ÿงฉ Definizione: Un'azione raggruppa una serie di passaggi di test in un'unitร  modulare e riutilizzabile all'interno di un UFT/QTP script.
  • ๐Ÿ” Azioni riutilizzabili: Richiamare la stessa azione piรน volte, nello stesso test o da qualsiasi altro test.
  • ๐Ÿ”’ Azioni non riutilizzabili: Eseguire solo una volta e solo all'interno del test in cui sono stati creati.
  • ๐ŸŒ Azioni esterne: Un'azione riutilizzabile diventa di sola lettura esterna quando viene richiamata da un test diverso.
  • โœ‚๏ธ Divisione: Suddividi un'azione complessa in azioni sorelle indipendenti o in una coppia genitore-figlio annidata.
  • ๐Ÿ“ž Chiamata delle azioni: Inserisci una nuova azione, una copia di un'azione o una chiamata a un'azione esistente.
  • ๐Ÿ“ค parametri: Tramite l'istruzione RunAction รจ possibile passare valori di input e output tra le azioni.
  • ๐Ÿ—‚๏ธ Schede tecniche: Utilizza il foglio Globale per i dati relativi all'intero test e il foglio Locale di ciascuna azione per i dati privati.

Che cos'รจ un'azione in UFT/QTP?

Azione in UFT/QTP Suddividere un test in "unitร  logiche" o "processi aziendali". Ogni azione raggruppa i passaggi che eseguono un'attivitร  riconoscibile, come l'accesso, la ricerca di un volo o la prenotazione di un biglietto. Le azioni contribuiscono a creare uno script piรน modulare ed efficiente.

Quando uno script viene creato per la prima volta, รจ composto da una sola azione. Puoi aggiungere altre azioni al tuo Micro Focus UFT lo script secondo i requisiti, e ogni azione aggiunta mantiene la propria logica e i propri dati locali separati dal resto del test.

Suddividere uno script lungo in azioni si rivela vantaggioso nel momento in cui un test deve essere modificato. Un tester puรฒ aggiornare un'azione, come la sequenza di accesso, senza dover intervenire sulla logica di ricerca o di pagamento presente in altre azioni. Questo isolamento trasforma inoltre le azioni in blocchi riutilizzabili che altri script possono richiamare, evitando cosรฌ di dover registrare nuovamente gli stessi passaggi.

Uno script tipico per la prenotazione di un volo, ad esempio, si suddivide ordinatamente in un'azione di accesso, un'azione di ricerca del volo e un'azione di prenotazione del biglietto. Ognuna di esse ha i propri passaggi e dati locali, quindi un tester che deve solo verificare l'accesso non deve registrare o gestire l'intero flusso di prenotazione.

Tipi di azioni in UFT/QTP: Riutilizzabile, non riutilizzabile ed esterno

UFT/QTP Sono supportati tre tipi di azioni e il tipo scelto determina se un'azione puรฒ essere condivisa tra gli script o rimane privata al test in cui รจ stata creata.

Tipo di azione Dove puรฒ correre Modificabile nel test di chiamata
Riutilizzabile Stesso test, piรน volte, o qualsiasi altro test Sรฌ, dal test che lo possiede
Non riutilizzabile Solo il test in cui รจ stato creato, e solo una volta Si
Riutilizzabile esterno Chiamata da un altro test come azione condivisa e memorizzata No, รจ di sola lettura; รจ modificabile solo la copia locale della tabella dati.

Un'azione riutilizzabile diventa un azione esterna Nel momento in cui un test diverso lo richiama invece del test che lo gestisce, le azioni esterne rimangono di sola lettura nel test chiamante perchรฉ un'azione condivisa puรฒ essere utilizzata da decine di script contemporaneamente e consentire a ogni chiamante di modificarne i passaggi comprometterebbe gli altri. รˆ comunque possibile parametrizzare la chiamata e lavorare localmente con una copia della relativa tabella dati.

Come regola generale, รจ consigliabile che una nuova azione non sia riutilizzabile finchรฉ la sua logica รจ specifica per un singolo test. PromoRendilo riutilizzabile non appena un secondo script necessita degli stessi passaggi e aspettati che si comporti come un'azione esterna di sola lettura nel momento in cui il secondo script la richiama effettivamente.

Come dividere, copiare e richiamare azioni in UFT

Man mano che un'azione cresce, mantieniping Ogni passaggio in un unico punto rende lo script piรน difficile da sottoporre a debug e riutilizzare. UFT consente di suddividere un'azione esistente in due modi quando diventa ingestibile.

  • Separazione indipendente (tra fratelli): L'azione selezionata si divide in due azioni separate che vengono eseguite una dopo l'altra, ciascuna mantenendoping la propria tabella dati locale.
  • Suddivisione annidata (genitore-figlio): L'azione selezionata si suddivide in un'azione principale il cui ultimo passaggio richiama la seconda azione secondaria, preservando una dipendenza logica tra le due.

Una volta che le azioni esistono, UFT offre tre modi per portare un'azione in un test dal inserire menรน:

  • Inserire un invito a una nuova azione: Crea una nuova azione vuota all'interno del test corrente.
  • Inserire la call to action: Copia un'azione esistente nella sua interezza, inclusi i checkpoint, la parametrizzazione e la relativa scheda Tabella dati, nel test chiamante. La copia รจ completamente indipendente, quindi le modifiche non influiscono sull'originale nรฉ vengono influenzate da esso. รˆ possibile copiare sia azioni riutilizzabili che non riutilizzabili.
  • Inserire un invito all'azione esistente: Inserisce una chiamata di sola lettura a un'azione riutilizzabile memorizzata in un altro test. Puรฒ essere modificata solo nel test in cui รจ stata creata, il che mantiene sincronizzati tutti i chiamanti e semplifica la manutenzione di suite di test di grandi dimensioni.

Ogni chiamata si riduce a un RunAction Dichiarazione contenuta nel parere dell'esperto:

' Calls Action2, which is stored in Test2, running it for one iteration
RunAction "Action2[Test2]", oneIteration

L'azione viene eseguita tante volte quanto specificato nelle sue proprietร  di chiamata. Ad esempio, se l'azione 2 รจ impostata per essere eseguita a ogni iterazione della tabella dati di Test2, ma l'azione chiamante 1 in Test1 viene eseguita una sola volta, l'azione 2 verrร  comunque eseguita una sola volta, perchรฉ la chiamata stessa viene attivata una sola volta.

Suggerimento: Quando un test contiene diverse azioni, apri il Flusso di prova riquadro dal menu Visualizza per trascinarli e riordinarli. Ciรฒ modifica la sequenza in cui UFT esegue le azioni senza modificare i passaggi all'interno di ciascuna singola azione.

Il video qui sotto si basa sullo script di accesso in cinque passaggi creato nei tutorial precedenti per Prenotazione di volo e illustra passo passo la creazione, la suddivisione e la chiamata delle azioni. รˆ il video piรน lungo di questo UFT/QTP serie di tutorial, quindi รจ utile prendere appunti mentre si guarda.

Clicchi Qui. se il video non รจ accessibile

Come passare parametri e memorizzare valori di output tra azioni

Oltre a richiamare un'azione, la maggior parte degli script reali deve trasferire dati al suo interno e leggere il risultato ottenuto. UFT assegna a ogni azione i propri parametri di input e output, oltre a diversi modi per memorizzare i risultati restituiti.

Passaggio di parametri da e verso un'azione

Proprio come funzioni o metodo nei linguaggi di programmazione, un'azione puรฒ definire input e output parametriQuesto parametro non ha alcuna relazione con Parametrizzazione dei dati di prova trattato in precedenza; i parametri qui appartengono all'azione stessa, non a una colonna della tabella dati. Configurali da Modifica > Azione > Proprietร  dell'azioneoppure facendo clic con il pulsante destro del mouse sull'azione nella Vista parole chiave. Passa i valori nella chiamata utilizzando questa sintassi:

' Passes an input value and captures the action's output into myResult
RunAction "Action1", oneIteration, "testuser", myResult

Memorizzazione del valore di output di un'azione

A seconda delle esigenze del resto dello script, รจ possibile memorizzare il valore restituito da un'azione in uno dei tre seguenti posti:

  • Una variabile: RunAction "Action1", oneIteration, "testuser", myResult memorizza l'output direttamente in myResult.
  • An variabile d'ambiente: creare una variabile definita dall'utente sotto File > Impostazioni > Ambiente, quindi scrivi RunAction "Action1", oneIteration, "testuser", Environment("env_var").
  • Una colonna della tabella dati: RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet) scrive il risultato direttamente nel foglio globale.

Schede dati globali e locali

Le azioni leggono e scrivono i dati di test attraverso due tipi di fogli. Scheda dati globale รจ unico per l'intero test; qualsiasi azione puรฒ leggerlo o scriverci, ed รจ sempre denominato "Globale". Scheda dati locale รจ univoco per ogni azione, prende il nome da quell'azione e solo la propria azione puรฒ leggerlo o scriverlo.

Uscita da un'azione e controllo dell'iterazione

Quando un passaggio deve interrompere un'azione in anticipo piuttosto che lasciarla proseguire fino al completamento, UFT fornisce quattro affermazioni:

  • ExitAction โ€” interrompe solo l'azione in corso.
  • ExitActionIteration โ€” interrompe l'iterazione corrente dell'azione e passa alla successiva.
  • ExitRun โ€” interrompe immediatamente l'intera esecuzione del test.
  • ExitGlobalIteration โ€” interrompe l'attuale iterazione del test globale e passa alla successiva.

Durante l'esecuzione di a UFT/QTP copione che utilizza azioni, tieni presente le iterazioni globali e le iterazioni locali, poichรฉ entrambe influenzano quante volte un'azione viene effettivamente eseguita. Puoi modificare la frequenza con cui si ripete un'azione chiamata aprendo Proprietร  della chiamata di azione > Esegui scheda e impostando lรฌ la modalitร  di iterazione.

โš  Errore comune: Un'azione chiamata, impostata per essere eseguita a ogni iterazione locale ma attivata da un'azione padre che viene eseguita una sola volta, verrร  comunque eseguita una sola volta. Prima di presumere che un'azione chiamata si ripeta, verificare sia il conteggio delle iterazioni globali dell'azione padre sia le proprietร  di chiamata dell'azione figlia.

DOMANDE FREQUENTI

Un'azione รจ un'azione integrata UFT una funzionalitร  con il proprio repository di oggetti e tabella dati, e puรฒ essere riutilizzabile o meno. funzione รˆ scritto in VBScript puro, รจ sempre riutilizzabile e non ha nรฉ un repository di oggetti nรฉ una tabella dati propria.

Sรฌ. Apri le proprietร  dell'azione e attiva/disattiva il flag di riutilizzabilitร  in qualsiasi momento. Se contrassegni un'azione precedentemente riutilizzabile come non riutilizzabile mentre altri test la chiamano ancora, i test che la chiamano falliscono e UFT mostra un avviso finchรฉ le chiamate non vengono rimosse.

Le azioni vengono salvate insieme al test come cartelle di azioni con estensione .mtr/.mts, anzichรฉ come file di script autonomi. Le librerie di funzioni, al contrario, vengono salvate come file separati con estensione .vbs o .qfl, che qualsiasi test puรฒ associare e riutilizzare.

Sรฌ. Gli strumenti di progettazione dei test assistiti dall'IA possono analizzare un flusso registrato e suggerire punti di interruzione logici, come login, ricerca e checkout, come possibili azioni. Un tester dovrebbe comunque verificare che la suddivisione corrisponda alle reali esigenze di riutilizzo prima di finalizzarla.

รˆ utile. L'identificazione automatica degli oggetti ricollega un controllo spostato o rinominato all'interno di un'azione anzichรฉ fallire immediatamente, riducendo cosรฌ il carico di manutenzione sulle azioni riutilizzabili ed esterne condivise da molti script. RevEsaminate attentamente gli oggetti riparati prima di fidarvi completamente.

Riassumi questo post con: