GetRoProperty, GetToProperty in QTP/UFT con l'esempio
⚡ Riepilogo intelligente
Object Spy rivela le proprietà e i metodi di qualsiasi controllo nell'applicazione in fase di test, mentre GetROProperty, GetTOProperty e SetTOProperty leggono e scrivono i valori di tali proprietà da un QTP or UFT Un solo script in fase di esecuzione.

Questo tutorial dimostra Spia di oggetti.
Object Spy può aiutare a determinare le proprietà e i metodi utili associati a un oggetto nel tuo ambiente.
HP/Micro Focus UFT esercitazioni descrive anche GetROProperty, GetTOProperty e SetTOProperty.
⚠️ Nota sulla versione: Lo strumento qui descritto è stato distribuito come HP QuickTest Professional, è diventato Micro Focus Unified Functional Testing ed è venduto oggi come OpenText Test funzionale (UFT Uno)Object Spy e tutti e tre i metodi funzionano ancora esattamente come descritto di seguito.
Clicchi Qui. se il video non è accessibile
Spia di oggetti
- Object Spy è una funzionalità in QTP tramite il quale è possibile visualizzare le proprietà e i metodi degli oggetti sia in fase di test che in fase di esecuzione.
- Fornisce inoltre la sintassi per un metodo selezionato.
- Object Spy mostra la gerarchia completa dell'oggetto selezionato.
Tale gerarchia è importante, perché il nome di una proprietà copiato da Object Spy corrisponde esattamente alla stringa prevista dai tre metodi seguenti. Pertanto, l'analisi di un oggetto tramite Object Spy è il primo passo in quasi tutte le operazioni di recupero delle proprietà.
GetROProperty
- GetROProperty è un metodo integrato utilizzato per recuperare il valore di runtime di una proprietà di un oggetto.
L'utilizzo di GetROProperty prevede 4 passaggi:
- Registra l'oggetto su cui vuoi utilizzare GetROProperty in Repository di oggetti.
- Per l'oggetto registrato identifica la proprietà di runtime che potrebbe essere utilizzata. È possibile utilizzare Object Spy.
- Utilizzare il metodo GetROProperty per recuperare la proprietà Run-time identificata e memorizzarne il valore in una variabile.
- Utilizzare questo valore per ulteriori detrazioni.
Poiché il valore viene letto dal controllo in tempo reale, l'applicazione deve essere aperta e l'oggetto deve effettivamente esistere sullo schermo quando la riga viene eseguita.
ImpostaProprietà e OttieniProprietà
- Consideriamo un pulsante Web memorizzato nel repository degli oggetti.
- Quando viene eseguito il test QTP crea una copia di questo oggetto chiamata Oggetto di test e la confronta con l'Oggetto di runtime
- Utilizzando GetTOProperty è possibile recuperare il valore di una proprietà dell'oggetto Test.
- Utilizzando SetTOProperty è possibile modificare il valore della proprietà di un oggetto di test.
- Al termine del test, questo oggetto di test viene scartato, così come tutte le modifiche apportate alle proprietà dell'oggetto tramite SetTOProperty.
- Quando il test viene rieseguito, viene creata una nuova copia dell'oggetto test con i valori delle proprietà originali archiviati nel repository degli oggetti
- Puoi considerare di utilizzare GetTOProperty e SetTOProperty quando il tuo script di test ha più righe di codice e il tuo ambiente è sporadico
- Per inciso, non esiste SetROProperty
Sintassi ed esempi
Tutti e tre i metodi vengono chiamati su un oggetto di test alla fine della sua gerarchia e tutti e tre accettano come stringa il nome di una proprietà di descrizione. La tabella riporta la firma di ciascuno.
| Metodo | Sintassi | Legge o scrive |
|---|---|---|
| GetROProperty | object.GetROProperty(Property) | Legge i controlli in tempo reale nell'applicazione |
| GetTOProperty | oggetto.GetTOProperty(Property) | Legge la descrizione dell'oggetto di test memorizzato |
| Imposta la proprietà | oggetto.ImpostaProprietà, Valore | Scrive la descrizione dell'oggetto di test solo per questa esecuzione |
La lettura di un valore in fase di esecuzione è una singola istruzione. Questo esempio, tratto da Riferimento ufficiale per il recupero e l'impostazione dei valori, recupera l'indirizzo di destinazione di un collegamento durante la sessione di esecuzione.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Scrivere e poi leggere la proprietà di un oggetto di test è altrettanto breve. La coppia di istruzioni seguente imposta il nome del pulsante Invia sul mio pulsante e legge immediatamente lo stesso valore.
Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button" ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
Una tipica verifica unisce le due idee: leggere il valore in fase di esecuzione con GetROProperty, quindi confrontarlo con quello previsto dal test.
strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection") If strValue = "Acapulco" Then Reporter.ReportEvent micPass, "Default city", "Default city is correct" Else Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue End If
Differenza tra GetROProperty e GetTOProperty
I due nomi differiscono per una sola lettera e sono la coppia più fonte di confusione all'interno dello strumento. RO sta per oggetto di runtime, TO per oggetto di test, e ognuno legge da una posizione diversa.
| Punto di confronto | GetROProperty | GetTOProperty |
|---|---|---|
| Fonte del valore | Il controllo in tempo reale nell'applicazione in esecuzione | La descrizione memorizzata per l'oggetto di test |
| L'applicazione deve essere aperta | Si | Nodo |
| Rileva una modifica di SetTOProperty | Nodo | Sì, per la corsa attuale |
| Utilizzo tipico | Verificare ciò che l'utente effettivamente vede. | Verificare o eseguire il debug di come viene identificato l'oggetto. |
| Settore di abbinamento | Nessuno — non esiste SetROProperty | Imposta la proprietà |
Un esempio pratico rende evidente la distinzione. Assegniamo un ID HTML a un elenco che non ne ha, quindi leggiamolo in entrambi i modi: GetROProperty restituisce una stringa vuota perché l'applicazione non è mai cambiata, mentre GetTOProperty restituisce il valore che è stato appena scritto nella descrizione.
Errori comuni e come risolverli
Il recupero delle proprietà fallisce per un numero limitato di motivi prevedibili. La tabella elenca quelli che i tester riscontrano più frequentemente.
| Sintomo | Causare | Fissare |
|---|---|---|
| La chiamata restituisce una stringa vuota | Il nome della proprietà è errato oppure l'oggetto non la espone | Individua nuovamente l'oggetto e copia il nome della proprietà esattamente come indicato. |
| Oggetto non trovato alla riga GetROProperty | Il controllo non aveva ancora dato esito | Aggiungere una fase di sincronizzazione prima della lettura |
| GetROProperty ignora una modifica di SetTOProperty | I due metodi, per loro stessa natura, si rivolgono a oggetti diversi. | Leggi la modifica con GetTOProperty invece |
| Una modifica SetTOProperty scompare | Le modifiche agli oggetti di test sono valide solo per l'esecuzione corrente. | Modifica l'oggetto nel repository oppure usa programmazione descrittiva |
| SetROProperty genera un errore di sintassi | Non esiste un metodo del genere. | Guida l'applicazione attraverso un passaggio normale come Imposta o Fai clic |
Due abitudini prevengono la maggior parte di questi errori: spiare il controllo prima di scrivere la riga invece di indovinare il nome della proprietà e mantenere VBScript Le chiamate di recupero vengono effettuate in prossimità del passaggio che richiede il valore, in modo che l'oggetto sia ancora visibile sullo schermo al momento della lettura.
