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ı.
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:
- GetROProperty özelliğini kullanmak istediğiniz nesneyi kaydedin. Nesne Deposu.
- Kaydedilen nesne için kullanılabilecek çalışma zamanı özelliğini tanımlar. Nesne Casusu'nu kullanabilirsiniz.
- GetROProperty yöntemini kullanarak tanımlanan çalışma zamanı özelliğini alın ve değerini bir değişkene kaydedin.
- 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.
