DescriptQTP/UFT'de Canlı Programlama: Dinamik ve Statik
Nedir? DescriptAktif Programlama?
Descriptive programlama, tanımı Nesne Deposunda saklanmayan AUT'deki bir Nesne üzerinde işlemler yürütmek için kullanılır. Bu mekanizmayı kullanarak, Nesne Deposundan tanımlamayı atlayabilir ve Nesneyi sağlayabilirsiniz Descriptifadenin kendisinde iyon.
Bir nesne adı, koddaki bir nesneyi, bir nesne deposundaki açıklamasıyla eşlemek için kullanılır. Bu, betiğinizdeki ve nesne deponuzdaki nesne adını değiştirirseniz betiğin çalışması gerektiği anlamına gelir. Bu kavramla ilgili aşağıdaki videoyu izleyin
Tıkla okuyun videoya erişilemiyorsa
Video Maç Özetleri
- Nesneyi Sil DescriptTemsilci Adı Win Düzenle'nin iyonu Box Nesne Deposundan. Testi tekrar çalıştırırsanız nesneyi tanıyamadığı için başarısız olur. Komut dosyasının başarısız olmasının nedenini inceleyelim
- Çalışma Zamanı sırasında, Micro Focus UFT, WinEdit kutusunda gerçekleştirilen işlemi ve Nesneyi tanımlar. Description in Object Repository Agent Name olarak saklanır. Bu adı nesneyi bir nesne deposunda izlemek için kullanır. Bir ebeveyn için, aynı ada sahip iki alt nesneniz olamaz. Bu nedenle, QTP nesneyi depoda benzersiz şekilde eşler. Daha sonra Object Repository'de saklanan açıklamayı kullanır ve adı açıklamayla değiştirir. Daha sonra bu ifadeyi test edilen uygulamada nesneyi tanımlamak için kullanır
- Bizim durumumuzda bu nesne açıklamasını tamamen sildiğimiz için komut dosyası başarısız oluyor
- Peki ya QTP'nin nesne açıklamasını değiştirmesi yerine, bir test uzmanı olarak doğrudan komut dosyanızdaki nesne açıklamalarını belirtirseniz? Bu “başka bir şey değil”DescriptCanlı Programlama”
Tipleri DescriptCanlı Programlama
Sen kullanabilirsiniz Descriptiki şekilde programlama yapıyorum
- Statik
- Dinamik
Statik DescriptCanlı Programlama
Statik Yöntemde, nesne tanımlaması için bir nesnenin özelliğini aşağıdaki biçimde belirtirsiniz
property:=values,
Bu biçime özellik değeri çifti adı verilir ve ters virgüller içine alınır
Nesneniz kullanıyorsa tanımlama için birden fazla açıklama; bunları virgül kullanarak belirtebilirsiniz
Dolayısıyla bizim durumumuzda Temsilci Adının açıklaması şöyle olur:
"nativeclass:=Edit", "attached text:=Agent Name:"
Dinamik DescriptCanlı Programlama
Aynı eylemi yapmanın ikinci yöntemi Dinamik'i kullanmaktır. Descriptprogramlama
Betiğinizin tanımlayıcı programlama nesnesi adayını birden çok kez kullanması durumunda, her ifade için tüm özellik değeri çiftlerini belirtmek çok yorucu olacaktır.
Bu gibi durumlarda yararlanabilirsiniz Descriptiyon Sınıfı QTP tarafından sağlanmıştır
Sözdizimi bir açıklama nesnesi oluşturmak için
Set MyDescription = Description.Create(); MyDescription("property").Value = "property-value";
Bu Dinamik Yöntem
Neden kullan DescriptAktif Programlama?
Video Transkripti
- Milyon dolarlık soru, Nesne Tanımlama süreci QTP tarafından yürütüldüğünde neden DP'nin kullanılması gerektiğidir.
- Bir iş portalını test etmekle görevlendirildiğinizi varsayalım. Portala bir arama sorgusu girersiniz ve
- testiniz sizden mevcut tüm işleri seçmenizi ve işi uygula seçeneğine tıklamanızı bekliyor
- Ancak yansıtılan işlerin sayısı, arama sorgusuna ve komut dosyası yürütüldüğü sırada mevcut olan işlere bağlı olacaktır ancak yansıtılacak işlerin sayısını önceden tahmin etmenin bir yolu yoktur.
- Bu gibi durumlarda, tanımlayıcı programlama kullanabilirsiniz. Onay kutularının sayısını ve adlarını bilmeseniz bile, nesnelerin sınıfını "WebCheck" olarak biliyorsunuz.Boxbaşlıklı bir kılavuz yayınladı
- Sen kullanabilirsiniz ChildObject yöntemi belirli bir ebeveyne ait nesneleri döndürmek için
- Şöyle bir kod satırı –
Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
- Bu sayfanın tüm alt nesnelerini döndürecektir.
- Ancak biz yalnızca WebCheck'i istiyoruzBox nesneler. Bunu yapmak için bir filtre oluşturma nesnesi oluşturabilir ve özelliğini web onay kutusu olarak ayarlayabilir ve bu filtreyi ChildObjects yöntemi için bir argüman olarak geçirebiliriz
- Bu durumda sadece onay kutuları döndürülür.
- Daha sonra sıfırdan başlayarak tüm onay kutusu koleksiyonuna erişen ve tüm onay kutularını AÇIK hale getiren buna benzer bir kod yazabilirsiniz.
- Daha sonra testi tamamlamak için uygula düğmesine tıklayabilirsiniz.
- Ayrıca kullanabilirsiniz DescriptOtomatik Gizleme Panelleri, Değişen Hiyerarşili Nesneler, İç İçe Nesneler, Alt Menüler gibi kaydedilmesi zor nesneleri çalıştırmak için programlama.
- Tanımlayıcı programlamayı kullanarak gelişmiş dize işlemlerini de yapabilirsiniz.
- İndeks özelliği ile birlikte tanımlayıcı programlama, zor nesnelerin tanımlanmasında çok yararlı olabilir.
- Nesne hiyerarşisindeki bir nesne için programlı açıklama kullanıyorsanız, sonraki alt nesneler için açıklama programlamayı kullanmanız gerekecektir.
- Örneğin, sayfa nesnesi için tanımlayıcı programlama kullanıldı ancak sonraki alt nesne için WinEdit Object Repository kullanıldı, bu yanlıştır
- Aksine burada hem Page hem de WinEdit için doğru olan tanımlayıcı programlama kullanılmıştır