GetRoProperty, GetToProperty'de QTP/UFT Örnek ile

⚡ Akıllı Özet

Object Spy, test edilen uygulamadaki herhangi bir kontrolün özelliklerini ve yöntemlerini ortaya çıkarırken, GetROProperty, GetTOProperty ve SetTOProperty bu özellik değerlerini okur ve yazar. QTP or UFT Çalışma zamanında tek bir komut dosyası.

  • 🔎 Önce Nesne Casusu: Kontrol noktasına doğrultarak test nesnesinin özelliklerini, çalışma zamanı özelliklerini, yöntemlerini ve tüm hiyerarşiyi görebilirsiniz.
  • ☑️ İki nesne dünyası: Test nesnesi, saklanan açıklamadır; çalışma zamanı nesnesi ise uygulamadaki canlı kontroldür.
  • GetROProperty: Canlı kontrolden geçerli değeri okur, bu nedenle uygulamanın açık olması ve nesnenin mevcut olması gerekir.
  • 🧪 GetTOProperty: Bunun yerine saklanan açıklamayı okur; bu nedenle iki yöntem farklı değerler döndürebilir.
  • SetTOProperty: Bu değişiklik yalnızca bu çalıştırma için geçerlidir; depoya asla dokunulmaz ve değişiklik sonunda atılır.
  • 📌 SetROProperty yok: Bir komut dosyası uygulamayı okuyabilir ancak uygulamaya bir özellik yazamaz.

Object Spy ve GetROProperty, GetTOProperty ve SetTOProperty metotları QTP hem de UFT Bir

Bu eğitim şunu göstermektedir: Nesne Casusu.

Object Spy, ortamınızdaki bir nesneyle ilişkili kullanışlı özellikleri ve yöntemleri belirlemenize yardımcı olabilir.

HP/Mikro Odak UFT EĞİTİMLER ayrıca açıklıyor GetROProperty, GetTOProperty ve SetTOProperty.

⚠️ Sürüm notu: Burada açıklanan araç, HP QuickTest Professional olarak piyasaya sürüldü, Micro Focus Unified Functional Testing adını aldı ve bugün de aynı isimle satılmaktadır. OpenText Fonksiyonel Testler (UFT Bir)Object Spy ve üç yöntem de aşağıda açıklandığı gibi çalışmaya devam ediyor.

Tıkla okuyun videoya erişilemiyorsa

Nesne Casusu

  • Object Spy, bir özelliktir. QTP Bu sayede hem test hem de çalışma zamanı nesnelerinin özelliklerini ve yöntemlerini görüntüleyebilirsiniz.
  • Ayrıca seçilen yöntemin sözdizimini de verir.
  • Object Spy, seçtiğiniz nesnenin tüm hiyerarşisini gösterir.

Bu hiyerarşi önemlidir, çünkü Object Spy'dan kopyalanan bir özellik adı, aşağıdaki üç yöntemin beklediği tam dizedir. Bu nedenle, bir nesneyi izlemek, neredeyse her özellik alma görevinde ilk adımdır.

GetROProperty

  • GetROProperty, bir nesne özelliğinin çalışma zamanı değerini almak için kullanılan yerleşik bir yöntemdir.

GetROProperty'yi kullanmak 4 adımdan oluşmaktadır:

  1. GetROProperty özelliğini kullanmak istediğiniz nesneyi kaydedin. Nesne Deposu.
  2. Kaydedilen nesne için kullanılabilecek çalışma zamanı özelliğini tanımlar. Nesne Casusu'nu kullanabilirsiniz.
  3. GetROProperty yöntemini kullanarak tanımlanan çalışma zamanı özelliğini alın ve değerini bir değişkene kaydedin.
  4. Bu değeri sonraki indirimler için kullanın.

Değer canlı kontrol ünitesinden okunduğu için, satır çalıştırıldığında uygulamanın açık olması ve nesnenin ekranda gerçekten mevcut olması gerekir.

SetTOProperty ve GetTOProperty

  • Nesne deposunda saklanan bir Web Düğmesini ele alalım.
  • Test çalıştırıldığında QTP Bu nesnenin "Test Nesnesi" adında bir kopyasını oluşturur ve bunu "Çalışma Zamanı Nesnesi" ile karşılaştırır.
  • GetTOProperty yöntemini kullanarak Test nesnesinin bir özelliğinin değerini alabilirsiniz.
  • SetTOProperty yöntemini kullanarak bir Test Nesnesinin özellik değerini değiştirebilirsiniz.
  • Test tamamlandığında, bu test nesnesi ve SetTOProperty kullanarak nesne özelliklerinde yaptığınız tüm değişiklikler atılır.
  • Test yeniden çalıştırıldığında, nesne deposunda saklanan orijinal özellik değerleriyle test nesnesinin yeni bir kopyası oluşturulur.
  • Test betiğiniz birden fazla satır kod içeriyorsa ve ortamınız düzensiz ise GetTOProperty ve SetTOProperty yöntemlerini kullanmayı düşünebilirsiniz.
  • Şunu da belirtmekte fayda var: SetROProperty diye bir şey yok.

Söz Dizimi ve Örnekler

Her üç yöntem de hiyerarşinin sonundaki bir test nesnesi üzerinde çağrılır ve her üçü de açıklama özelliği adını bir dize olarak alır. Tablo, her birinin imzasını vermektedir.

Yöntem Sözdizimi Okur veya yazar
GetROProperty nesne.GetROProperty(Property) Uygulamadaki canlı kontrolü okur.
GetTOProperty nesne.GetTOProperty(Property) Kaydedilen test nesnesinin açıklamasını okur.
SetTOProperty nesne.SetTOProperty Özellik, Değer Yalnızca bu çalıştırma için test nesnesi açıklamasını yazar.

Çalışma zamanı değerini okumak tek bir ifadeden oluşur. Bu örnek, şuradan alınmıştır: resmi değer alma ve ayarlama referansıÇalışma oturumu sırasında bir bağlantının hedef adresini çeker.

link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")

Bir test nesnesinin özelliğini yazmak ve okumak da aynı derecede kısadır. Aşağıdaki kod parçası, Gönder düğmesinin adını benim düğmem olarak ayarlar ve aynı değeri doğrudan geri okur.

Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button"
ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")

Tipik bir doğrulama, bu iki fikri birleştirir: çalışma zamanı değerini GetROProperty ile okuyun, ardından bunu testin beklediği değerle karşılaştırın.

strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection")
If strValue = "Acapulco" Then
    Reporter.ReportEvent micPass, "Default city", "Default city is correct"
Else
    Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue
End If

GetROProperty ve GetTOProperty Arasındaki Fark

İki isim arasında yalnızca bir harf farkı var ve araçtaki en çok karıştırılan çifti oluşturuyorlar. RO, çalışma zamanı nesnesi anlamına gelirken, TO ise test nesnesi anlamına geliyor ve her biri farklı bir yerden okuma yapıyor.

Karşılaştırma noktası GetROProperty GetTOProperty
Değerin kaynağı Çalışmakta olan uygulamada canlı kontrol. Test nesnesi için saklanan açıklama
Başvurular açık olmalıdır. Evet Yok hayır
SetTOProperty değişikliğini görüyor. Yok hayır Evet, mevcut çalışma için.
Tipik kullanım Kullanıcının gerçekten ne gördüğünü doğrulamak Nesnenin nasıl tanımlandığını kontrol etme veya hata ayıklama
Eşleştirme pasörü Hiçbiri — SetROProperty diye bir şey yok. SetTOProperty

Örnek bir karşılaştırma, ayrımı açıkça ortaya koyar. Kimliği olmayan bir listeye HTML kimliği atayın, ardından her iki şekilde de okuyun: GetROProperty boş bir dize döndürür çünkü uygulama hiç değişmedi, GetTOProperty ise açıklamaya yeni yazılan değeri döndürür.

Yaygın Hatalar ve Bunları Nasıl Düzeltebilirsiniz

Özellik alma işlemi, az sayıda tahmin edilebilir nedenden dolayı başarısız olur. Tabloda, test uzmanlarının en sık karşılaştığı nedenler listelenmiştir.

Semptom Sebeb olmak sabit
Çağrı boş bir dize döndürüyor. Özellik adı yanlış veya nesne bu özelliği göstermiyor. Nesneyi tekrar inceleyin ve özellik adını listelendiği gibi aynen kopyalayın.
GetROProperty satırında nesne bulunamadı. Kontrol henüz tamamlanmamıştı. Okuma işleminden önce bir senkronizasyon adımı ekleyin.
GetROProperty, SetTOProperty değişikliğini dikkate almaz. İki yöntem, tasarımları gereği farklı nesnelere yöneliktir. Değişikliği GetTOProperty ile geri okuyun.
SetTOProperty değişikliği kaybolur. Test nesnesi düzenlemeleri yalnızca geçerli çalıştırma için geçerlidir. Depodaki nesneyi düzenleyin veya şunu kullanın: tanımlayıcı programlama
SetROProperty sözdizimi hatası veriyor. Böyle bir yöntem mevcut değil. Uygulamayı Ayarla veya Tıkla gibi normal bir adım üzerinden çalıştırın.

Bu sorunların çoğunu iki alışkanlık önler: satırı yazmadan önce özellik adını tahmin etmek yerine kontrol noktasını önceden görmek ve dikkatli olmak. VBScript Değer alma işlemi, değere ihtiyaç duyulan adıma yakın bir zamanda çağrılır, böylece okuma işlemi gerçekleştiğinde nesne hala ekranda olur.

SSS

Object Spy, aracın o sınıf için sahip olduğu tanımlama özelliklerini ve tarayıcı tarafından sunulan yerel özellikleri listeler. Öznitelik ve stil değerlerine, özellik dizesinin içindeki öznitelik ve stil önekleri aracılığıyla ulaşılır.

Çalışma zamanı nesnesi teste değil, uygulamaya aittir, bu nedenle araç ona yazmaz. Uygulamanın içeriğini değiştirmek için, Ayarla, Seç veya Tıkla gibi sıradan bir adımla denetimi yönlendirin.

Hayır. Geçici test nesnesi çalıştırma sona erdiğinde atılır ve bir sonraki seferde depodan yeni bir kopya oluşturulur. Kalıcı değişiklikler nesne deposunun kendisinde yer almalıdır.

Evet. Satır içi olarak oluşturulan tanımlanmış bir nesne aynı çağrıları kabul eder, bu nedenle GetROProperty çalışır. tanımlayıcı programlama Aynı şekilde, GetTOProperty de saklanmış bir girdiden değil, satır içi açıklamadan gelen değeri döndürür.

Yapay zekâ destekli konum belirleme araçları, aynı kontrol için birden fazla aday özelliği sıralar ve bir özellik değiştiğinde bozuk açıklamayı onarır. Bu, manuel arama döngüsünü azaltır, ancak önerilen özelliğin yine de insan tarafından kontrol edilmesi gerekir.

Copilot, dosyada birkaç benzer satır gördüğünde hiyerarşiyi ve yöntem çağrısını tamamlar. Gerçek nesne adlarınızı veya kontrolün hangi özellikleri gösterdiğini bilemez, bu nedenle oluşturulan her dizeyi Object Spy'da doğrulayın.

Object Spy, betiği oluştururken değerleri gösteren bir inceleme aracıdır. Kontrol noktası, test içinde çalışan ve saklanan beklenen değere göre başarılı veya başarısız olduğunu bildiren bir adımdır.

Yalnızca nesne uygulamada hala mevcutsa. Oluşturulmamış veya sayfadan kaldırılmış bir kontrol, boş bir değer döndürmek yerine "nesne bulunamadı" hatası verir.

Bu yazıyı şu şekilde özetleyin: