QTP - Programmazione descrittiva

Gli script QTP possono essere eseguiti solo se gli oggetti sono presenti nell'Object Repository. Le descrizioni degli oggetti vengono create utilizzando la programmazione descrittiva -

  • Quando i tester desiderano eseguire un'operazione su un oggetto che non è presente nel repository degli oggetti

  • Quando gli oggetti nell'applicazione sono di natura molto dinamica.

  • Quando l'archivio oggetti diventa grande, si ottengono prestazioni scadenti all'aumentare delle dimensioni dell'archivio oggetti.

  • Quando il framework viene creato, in modo tale che si è deciso di non utilizzare affatto Object Repository.

  • Quando i tester desiderano eseguire un'azione sull'applicazione in fase di esecuzione senza essere a conoscenza delle proprietà univoche dell'oggetto.

Sintassi

Esistono due modi per creare script utilizzando la tecnica di programmazione descrittiva. Sono -

  • Descrizione Oggetti
  • Descrizione Stringhe

Descrizione Oggetti

Lo script viene sviluppato utilizzando oggetti descrizione che dipendono dalle proprietà utilizzate e dai valori corrispondenti. Quindi, queste descrizioni vengono utilizzate per creare lo script.

'Creating a description object
Set btncalc = Description.Create()

'Add descriptions and properties
btncalc("type").value = "Button"
btncalc("name").value = "calculate"
btncalc("html tag").value = "INPUT"

' Use the same to script it
Browser("Math Calc").Page("Num Calculator").WebButton(btncalc).Click

Descrizione Stringhe

La descrizione degli oggetti viene sviluppata utilizzando le proprietà ei valori come stringhe come mostrato di seguito.

Browser("Math Calc").Page("Num Calculator").WebButton("html 
tag:=INPUT","type:=Button","name:=calculate").Click

Oggetti figlio

QTP fornisce il metodo ChildObjects, che ci consente di creare una raccolta di oggetti. Gli oggetti padre precedono ChildObjects.

Dim oDesc
Set oDesc = Description.Create
oDesc("micclass").value = "Link"

'Find all the Links
Set obj = Browser("Math Calc").Page("Math Calc").ChildObjects(oDesc)

Dim i
'obj.Count value has the number of links in the page

For i = 0 to obj.Count - 1	 
   'get the name of all the links in the page			
   x = obj(i).GetROProperty("innerhtml") 
   print x 
Next

Identificatori ordinali

La programmazione descrittiva viene utilizzata per scrivere lo script in base a identificatori ordinali, che consentiranno a QTP di agire su quegli oggetti quando due o più oggetti hanno le stesse proprietà.

' Using Location
Dim Obj
Set Obj = Browser("title:=.*google.*").Page("micclass:=Page")
Obj.WebEdit("name:=Test","location:=0").Set "ABC"
Obj.WebEdit("name:=Test","location:=1").Set "123"
 
' Index
Obj.WebEdit("name:=Test","index:=0").Set "1123"
Obj.WebEdit("name:=Test","index:=1").Set "2222"
 
' Creation Time
Browser("creationtime:=0").Sync
Browser("creationtime:=1").Sync
Browser("creationtime:=2").Sync