QTP - Tanımlayıcı Programlama
QTP komut dosyaları, yalnızca nesneler Nesne Deposunda mevcutsa çalıştırılabilir. Nesnelerin açıklamaları, Açıklayıcı programlama kullanılarak oluşturulur -
Test kullanıcıları, nesne havuzunda bulunmayan bir nesne üzerinde bir işlem gerçekleştirmek istediğinde
Uygulamadaki nesneler doğası gereği çok dinamik olduğunda.
Nesne Deposu büyüdüğünde, Nesne Deposunun boyutu arttıkça düşük Performansa neden olur.
Çerçeve kurulduğunda, Nesne Deposunu hiç kullanmamaya karar verildi.
Test uzmanları, nesnenin benzersiz özellikleri hakkında bilgi sahibi olmadan çalışma zamanında uygulama üzerinde bir eylem gerçekleştirmek istediklerinde.
Sözdizimi
Tanımlayıcı Programlama tekniğini kullanarak komut dosyası oluşturmanın iki yolu vardır. Onlar -
- Açıklama Nesneleri
- Açıklama Dizeleri
Açıklama Nesneleri
Komut dosyası, kullanılan özelliklere ve bunlara karşılık gelen değerlere bağlı Açıklama Nesneleri kullanılarak geliştirilmiştir. Daha sonra bu açıklamalar komut dosyasını oluşturmak için kullanılır.
'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
Açıklama Dizeleri
Nesnelerin açıklaması, aşağıda gösterildiği gibi dizeler olarak özellikler ve değerler kullanılarak geliştirilmiştir.
Browser("Math Calc").Page("Num Calculator").WebButton("html
tag:=INPUT","type:=Button","name:=calculate").Click
Alt Nesneler
QTP, bir nesne koleksiyonu oluşturmamızı sağlayan ChildObjects yöntemini sağlar. Üst nesneler, ChildObjects'ten önce gelir.
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
Sıra Tanımlayıcıları
Tanımlayıcı programlama, iki veya daha fazla nesne aynı özelliklere sahip olduğunda, QTP'nin bu nesneler üzerinde hareket etmesini sağlayan sıralı tanımlayıcılara dayalı komut dosyası yazmak için kullanılır.
' 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