Come funziona l'identificazione degli oggetti in QTP/UFT?

Cos'è l'identificazione degli oggetti?

QTP utilizza anche una tecnologia "umana" per l'identificazione degli oggetti. Durante Record, Time QTP cerca di apprendere le proprietà di un oggetto GUI su cui viene eseguita l'operazione. Durante Run-Time, Micro Focus UFT confronta le proprietà dell'oggetto memorizzate con le proprietà effettive dell'oggetto disponibili sullo schermo e identifica in modo univoco un oggetto indipendentemente dalla sua posizione sullo schermo

Viene chiamato l'oggetto memorizzato e insieme alle sue proprietà Oggetto TEST

Durante il Run-Time viene richiamato l'oggetto effettivamente disponibile sull'applicazione sottoposta a test Oggetto in fase di esecuzione

Questo è HP UFT “Modello oggetto di prova”

Cos'è il repository di oggetti?

Le informazioni sugli oggetti di test sono archiviate in Repository di oggetti

Add-ins aiuto nell'istruire Test veloce in anticipo rispetto alla natura dell'oggetto da registrare in modo da ridurre il tempo necessario per apprenderne le proprietà

Il seguente video tutorial mostra come QTP identifica un oggetto GUI (sullo schermo)

Clicchi qui se il video non è accessibile

QTP memorizza Object e le sue proprietà nell'Object Repository per identificarli durante l'esecuzione. Un Object potrebbe avere un gran numero di proprietà associate. Ad esempio, in Web Environment, un Button potrebbe avere le seguenti proprietà associate.

Repository di oggetti

If QTP proverà a ricordare tutte le proprietà disponibili per un oggetto, le dimensioni del repository di oggetti aumenteranno e il tempo di esecuzione dello script aumenterà drasticamente. Per evitare ciò, QTP per impostazione predefinita non memorizza tutte le proprietà di un oggetto ma un numero limitato di proprietà tipiche di un oggetto che aiuta nella sua identificazione univoca. Questa scelta di proprietà (da salvare in tempi record) per vari ambienti e oggetti viene memorizzata in Identificazione oggetto

Oggetto Descriptione, proprietà obbligatorie e assistive

Un oggetto proprietà e il suo tool proprietario APPREZZIAMO sono chiamati Oggetto Descriptione. L'oggetto Descriptviene utilizzato per identificare in modo univoco l'Oggetto corrispondente. Ad esempio, per una proprietà WebButton "nome" e il suo valore”Login" insieme possono essere definiti Oggetto Description per quel pulsante Web.

Per accedere, in QTP nel menu Strumenti, selezionare Identificazione oggetto. Nella finestra di dialogo Riconoscimento oggetto Box puoi vedere un menu a discesa di tutti gli ambienti installati e caricati.

È possibile selezionare un ambiente e QTP popola automaticamente l'elenco di tutti gli oggetti supportati appartenenti a quell'ambiente. Sulla destra QTP elenca le proprietà che verranno archiviate per l'oggetto. L'elenco è suddiviso in

  1. Proprietà obbligatorie verrà archiviato per impostazione predefinita per quell'oggetto
  2. Proprietà assistenziali Nel caso in cui durante il tempo di registrazione dello script QTP NON sia possibile creare una descrizione univoca dell'oggetto, memorizzerà il file proprietà assistenziali

Per capirlo meglio, consideriamo l'esempio di un'immagine Web.

Oggetto Descriptione, proprietà obbligatorie e assistive

  • QTP memorizzerà un valore alt, tag HTML, tipo di immagine, proprietà obbligatorie anche se può identificarlo in modo univoco utilizzando solo la proprietà alt.
  • Nel caso in cui non sia possibile creare una descrizione univoca utilizzando la proprietà obbligatoria, QTP memorizzerà la proprietà assistiva. In questo caso, QTP memorizzerà la proprietà della classe.
  • Se questa proprietà aiuta a creare una descrizione univoca dell'oggetto, QTP non memorizzerà il nome file e la proprietà altezza. Se la proprietà di una classe non è sufficiente per creare una descrizione univoca, QTP memorizzerà la proprietà del nome file. Se la proprietà del nome file crea una descrizione univoca, QTP non memorizzerà la proprietà dell'altezza e così via.
  • Supponiamo che durante il periodo di registrazione, QTP abbia memorizzato solo la proprietà della classe. In fase di esecuzione, QTP dimenticherà la distinzione tra proprietà obbligatorie e assistive e confronterà tutte le proprietà registrate.
  • Anche se una qualsiasi delle proprietà non corrisponde al valore memorizzato, Lo script fallisce