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