QTP / UFT'de Tanımlayıcı Programlama: Dinamik & Statik

İçindekiler:

Anonim

Tanımlayıcı Programlama nedir?

Tanımlayıcı programlama, tanımı Nesne Havuzunda saklanmayan AUT içindeki bir Nesne üzerinde işlemleri yürütmek için kullanılır. Bu mekanizmayı kullanarak, Nesne Deposundan tanımlamayı atlayabilir ve ifadenin kendisinde Nesne Açıklamasını sağlayabilirsiniz.

Bir nesne adı, basitçe, bir nesne havuzundaki açıklamasıyla birlikte komut dosyasındaki bir nesneyi eşlemek için kullanılır. Yani, komut dosyası ve nesne deponuzdaki nesne adını değiştirirseniz, komut dosyası çalışmalıdır. Bu kavramla ilgili aşağıdaki videoyu izleyin

Videoya erişilemiyorsa burayı tıklayın

Video Öne Çıkanlar

  • Ajan Adı Win Düzenleme Kutusunun Nesne Açıklamasını Nesne Deposundan silin. Testi tekrar çalıştırırsanız, nesneyi tanıyamayacağı için başarısız olacaktır. Senaryonun neden başarısız olduğunu inceleyelim
  • Çalışma Süresi sırasında, Micro Focus UFT, WinEdit kutusunda gerçekleştirilen işlemi tanımlar ve Nesne Deposundaki Nesne Açıklaması, Ajan Adı olarak saklanır. Bu adı, bir nesne havuzundaki nesneyi izlemek için kullanır. Bir ebeveyn için, aynı ada sahip iki alt nesneye sahip olamazsınız. Bu nedenle, QTP arşivdeki nesneyi benzersiz bir şekilde eşler. Daha sonra Nesne Deposunda depolanan açıklamayı kullanır ve adı tanımla değiştirir. Daha sonra bu ifadeyi, test / li> altındaki uygulamadaki nesneyi tanımlamak için kullanır.
  • Bizim durumumuzda bu nesne açıklamasını tamamen sildiğimizden, betik başarısız oluyor / li>
  • Ancak, QTP'nin nesne açıklamasını değiştirmek yerine, bir test cihazı olarak doğrudan komut dosyanızdaki nesne açıklamalarını belirtirseniz ne olur? Bu, "Açıklayıcı Programlama" dan başka bir şey değildir

Tanımlayıcı Programlama Türleri

Açıklayıcı programlamayı iki şekilde kullanabilirsiniz

  1. Statik
  2. Dinamik

Statik Tanımlayıcı Programlama

Statik Yöntemde, nesne tanımlaması için, bir nesnenin özelliğini aşağıdaki formatta belirtirsiniz

özellik: = değerler,

Bu biçime özellik değeri çifti denir ve ters virgüllerle çevrelenmiştir>

Nesneniz tanımlama için birden çok açıklama kullanıyorsa , bunları virgül kullanarak belirtebilirsiniz >

Yani bizim durumumuzda, Temsilci Adı için açıklama

"nativeclass: = Düzenle", "ekli metin: = Aracı Adı:"

Dinamik Tanımlayıcı Programlama

Aynı eylemi yapmanın ikinci yöntemi Dinamik Açıklayıcı programlama kullanmaktır

Komut dosyanızın açıklayıcı programlama nesnesi adayını birden çok kez kullanması durumunda, her bir ifade için tüm özellik değeri çiftlerini belirtmek çok yorucu olacaktır.

Bu gibi durumlarda, QTP tarafından sağlanan Açıklama Sınıfından yararlanabilirsiniz.

Bir açıklama nesnesi oluşturmak için sözdizimi

MyDescription = Description.Create ();Tanımım ("özellik") Değer = "özellik-değer";

Bu Dinamik Yöntemdir

Tanımlayıcı Programlama Neden Kullanılır?

Video Transkripti

  • Milyon dolarlık soru, Nesne Tanımlama süreci QTP tarafından işlendiğinde neden DP'nin kullanılacağıdır.
  • Bir iş portalını test etmek için atandığınızı varsayalım. Portala bir arama sorgusu girersiniz ve
  • testiniz sizden mevcut tüm işleri seçmenizi bekler ve işi uygula seçeneğine tıklayın
  • Ancak yansıtılan işlerin yokluğu, arama sorgusuna ve komut dosyası yürütülürken mevcut olan işlere bağlı olacaktır, ancak yansıtılacak işlerin olmadığını önceden tahmin etmenin bir yolu yoktur
  • Bu gibi durumlarda açıklayıcı programlamayı kullanabilirsiniz. Onay kutularının sayısını ve adlarını bilmeseniz bile, nesnelerin sınıfını "WebCheckBox" olarak biliyorsunuz.
  • Belirli bir ebeveyne ait nesneleri döndürmek için ChildObject yöntemini kullanabilirsiniz.
  • Şunun gibi bir kod satırı -
    AllObjects = Tarayıcıyı ("İşler") ayarlayın. Sayfa ("QTP").
  • Bu sayfa için tüm alt nesneleri döndürür.
  • Ancak sadece WebCheckBox nesnelerini istiyoruz. 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, yalnızca onay kutuları döndürülür.
  • Ardından, sıfırdan başlayarak tüm onay kutuları koleksiyonuna erişen ve tüm onay kutularını AÇIK olarak ayarlayan bunun gibi bir kod yazabilirsiniz.
  • Ardından, testi tamamlamak için uygula düğmesine tıklayabilirsiniz
  • Otomatik Gizle Paneller, Değişen hiyerarşilere sahip Nesneler, İç İçe Nesneler, Alt menüler gibi kaydedilmesi zor nesneleri çalıştırmak için Açıklayıcı Programlamayı da kullanabilirsiniz.
  • Açıklayıcı programlamayı kullanarak gelişmiş dize manipülasyonları da yapabilirsiniz.
  • İndeks özelliği ile bağlantılı olarak, tanımlayıcı programlama zor nesneleri tanımlamada çok faydalı olabilir.
  • Nesne hiyerarşisindeki bir nesne için programlı açıklama kullanıyorsanız, sonraki alt nesneler için açıklama programlamasını kullanmanız gerekecektir.
  • Örneğin, sayfa nesnesi için tanımlayıcı programlama kullanıldı, ancak sonraki alt nesne için yanlış olan WinEdit Nesne Deposu kullanıldı
  • Tam tersine burada hem Page hem de WinEdit için doğru olan tanımlayıcı programlama kullanılmıştır.