Учебники

QTP – Описательное программирование

Сценарии QTP могут выполняться, только если объекты присутствуют в репозитории объектов. Описания объектов создаются с использованием описательного программирования –

  • Когда тестировщики хотят выполнить операцию над объектом, которого нет в хранилище объектов

  • Когда объекты в приложении очень динамичны по своей природе.

  • Когда хранилище объектов становится большим, это приводит к снижению производительности при увеличении размера хранилища объектов.

  • Когда структура построена так, что было решено вообще не использовать Object Repository.

  • Когда тестировщики хотят выполнить действие над приложением во время выполнения, не зная об уникальных свойствах объекта.

Когда тестировщики хотят выполнить операцию над объектом, которого нет в хранилище объектов

Когда объекты в приложении очень динамичны по своей природе.

Когда хранилище объектов становится большим, это приводит к снижению производительности при увеличении размера хранилища объектов.

Когда структура построена так, что было решено вообще не использовать Object Repository.

Когда тестировщики хотят выполнить действие над приложением во время выполнения, не зная об уникальных свойствах объекта.

Синтаксис

Существует два способа написания сценариев с использованием техники описательного программирования. Они –

  • Описание Объекты
  • Описание Строки

Описание Объекты

Сценарий разрабатывается с использованием объектов описания, которые зависят от используемых свойств и их соответствующих значений. Затем эти описания используются для создания сценария.

'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

Описание Строки

Описание объектов разрабатывается с использованием свойств и значений в виде строк, как показано ниже.

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

Дочерние объекты

QTP предоставляет метод ChildObjects, который позволяет нам создавать коллекцию объектов. Родительские объекты предшествуют 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

Порядковые идентификаторы

Описательное программирование используется для написания сценария на основе порядковых идентификаторов, что позволит QTP воздействовать на эти объекты, когда два или более объектов имеют одинаковые свойства.