QTP - Programación descriptiva

Los scripts QTP se pueden ejecutar solo si los objetos están presentes en el repositorio de objetos. Las descripciones de los objetos se crean mediante programación descriptiva:

  • Cuando los probadores quieren realizar una operación en un objeto que no está presente en el repositorio de objetos

  • Cuando los objetos de la aplicación son de naturaleza muy dinámica.

  • Cuando el repositorio de objetos crece mucho, el rendimiento es deficiente a medida que aumenta el tamaño del repositorio de objetos.

  • Cuando se crea el marco, se ha decidido no utilizar el repositorio de objetos en absoluto.

  • Cuando los probadores desean realizar una acción en la aplicación en tiempo de ejecución sin tener el conocimiento de las propiedades únicas del objeto.

Sintaxis

Hay dos formas de realizar secuencias de comandos mediante la técnica de programación descriptiva. Ellos son -

  • Descripción Objetos
  • Descripción Strings

Descripción Objetos

El script se desarrolla utilizando objetos de descripción que dependen de las propiedades utilizadas y sus valores correspondientes. Luego, estas descripciones se utilizan para construir el 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

Descripción Strings

La descripción de los objetos se desarrolla utilizando las propiedades y valores como cadenas como se muestra a continuación.

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

Objetos secundarios

QTP proporciona el método ChildObjects, que nos permite crear una colección de objetos. Los objetos principales preceden a 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

Identificadores ordinales

La programación descriptiva se utiliza para escribir el script basado en identificadores ordinales, lo que permitirá que QTP actúe sobre esos objetos cuando dos o más objetos tienen las mismas propiedades.

' 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