QTP - Programação Descritiva
Os scripts QTP podem ser executados apenas se os objetos estiverem presentes no Repositório de objetos. As descrições dos objetos são criadas usando a programação descritiva -
Quando os testadores desejam realizar uma operação em um objeto que não está presente no repositório de objetos
Quando os objetos no aplicativo são muito dinâmicos por natureza.
Quando o Repositório de objetos cresce muito, isso resulta em um desempenho ruim conforme o tamanho do Repositório de objetos aumenta.
Quando a estrutura é construída, de forma que foi decidido não usar o Repositório de Objetos.
Quando os testadores desejam executar uma ação no aplicativo em tempo de execução sem ter o conhecimento das propriedades exclusivas do objeto.
Sintaxe
Existem duas maneiras de fazer scripts usando a técnica de Programação Descritiva. Eles são -
- Objetos de descrição
- Descrição Strings
Objetos de descrição
O script é desenvolvido usando objetos de descrição que dependem das propriedades usadas e seus valores correspondentes. Então, essas descrições são usadas para construir o 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
Descrição Strings
A descrição dos objetos é desenvolvida usando as propriedades e valores como strings conforme mostrado abaixo.
Browser("Math Calc").Page("Num Calculator").WebButton("html
tag:=INPUT","type:=Button","name:=calculate").Click
Objetos Filhos
QTP fornece o método ChildObjects, que nos permite criar uma coleção de objetos. Os objetos pais precedem 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 Ordinais
A programação descritiva é usada para escrever o script com base em identificadores ordinais, que permitirão ao QTP agir nesses objetos quando dois ou mais objetos tiverem as mesmas propriedades.
' 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