Fonksiyonlar Nasıl Kullanılır? QTP/UFT 3 Kolay Adımda
⚡ Akıllı Özet
İçindeki işlevler QTP/UFT Test uzmanlarının, herhangi bir testin çağırabileceği kütüphane dosyaları içinde yeniden kullanılabilir VBScript mantığını paketlemesine olanak tanıyarak, tekrarlamayı azaltır, bakımı kolaylaştırır ve otomasyon geliştirme sürecini hızlandırır. UFT hem de QTP projeleri.

Testlerinizde birden çok kez kullanmanız gereken kod parçalarınız varsa, kullanıcı tanımlı bir fonksiyon oluşturmak isteyebilirsiniz. Kullanıcı tanımlı fonksiyonlar kullanarak testleriniz daha kısa, tasarımı, okunması ve bakımı daha kolay olur.
Micro Focus'ta kendi fonksiyon kütüphaneleriniz UFT içerebilir VBScript fonksiyonlar, altprogramlar, modüller vb.
Bir kütüphanedeki bir fonksiyonu testinizde kullanmak için yalnızca 3 basit adımı izlemeniz gerekiyor.
Bir fonksiyon kütüphanesi, bir aksiyon in UFT: Bir fonksiyonun kendine ait bir nesne deposu veya veri sayfası yoktur, ancak kütüphane ilişkilendirildikten sonra herhangi bir işlem veya test onu çağırabilir.
Aynı adımları her eyleme kopyala yapıştır yapmak, bakım işini kat kat artırır çünkü tek bir değişiklik her kopyada tekrarlanmak zorundadır. Bir fonksiyon kütüphanesi, bu mantığı projedeki herhangi bir eylemin veya testin çağırabileceği tek bir yerde merkezileştirerek bu sorunu çözer.
Bir kütüphaneden bir fonksiyonu kullanmanın 3 basit adımı UFT/QTP
) 1 Adım Yeni bir fonksiyon kütüphanesi oluşturun. UFT or QTP Dosya > Yeni > Fonksiyon Kütüphanesi seçeneğini belirleyerek yeni bir sekmede açabilirsiniz. QTP.
Şimdi çok basit bir mesaj kutusu gösteren bir fonksiyon oluşturalım.
Function Demo MsgBox "This is a Test Function" End Function
Bu fonksiyon her çağrıldığında bir mesaj kutusu görünür. Tek bir dosya birden fazla fonksiyon içerebilir, bu nedenle dosyayı bir kez kaydedin ve birçok testte yeniden kullanın. UFT bir fonksiyon kütüphanesini kaydeder. .qfl varsayılan olarak uzantı, ancak düz bir vbs Bir sonraki bölümde açıklandığı gibi, dosya da çalışır.
) 2 Adım Kütüphaneyi testinizle ilişkilendirin. Dosya > Ayarlar > Kaynaklar > Fonksiyon Kütüphanesini İlişkilendir'i açın ve tıklayın. EkleFonksiyon kütüphanesi dosyasını seçin ve tıklayın. OK.
) 3 Adım Son adım, test betiği içinde fonksiyonu çağırmaktır. Bir kütüphane ilişkilendirildikten sonra, bir fonksiyonu çağırmak oldukça basittir.ping Aşağıda gösterildiği gibi, adını belirterek ve gerekli argümanları ileterek işlemi gerçekleştirebilirsiniz.
' Call the function from the associated library
Demo()
UFT bulur Gösteri İlgili kütüphanede yer alan kodu, sanki testin içinde yerel olarak yazılmış gibi çalıştırır.
Önemli Notlar
- COM ve DCOM nesnelerini kullanarak çok gelişmiş fonksiyonlar oluşturabilirsiniz.
- Aslında, sunulan özelliklerin çoğu QTP VBScript kullanılarak kodlanabilir.
- Otomasyon projesinden ziyade bunu bir VB projesi haline getiren otomasyon mühendislerini gördük.
- Bizim önerimiz VB becerilerinizi sergilemek yerine %100 otomasyona odaklanmanızdır.
Tıkla okuyun videoya erişilemiyorsa
Fonksiyon Kütüphanesi Dosya Türleri: .qfl ve .vbs
UFT Fonksiyon kütüphanesi için sizi tek bir dosya formatına zorlamaz. Fonksiyon Kütüphanesi düzenleyicisi yeni dosyaları şu formatta kaydeder: .qfl varsayılan olarak uzantı ve UFT düz metni de kabul eder vbs herhangi bir kod düzenleyicide oluşturulan dosya, çünkü QTP/UFT Fonksiyon kütüphanesi, diskte depolanan sıradan VBScript'ten başka bir şey değildir; iki format da çalışma zamanında aynı şekilde davranır.
| GÖRÜNÜŞ | .QFL DOSYASI | .VBS DOSYASI |
|---|---|---|
| Ile düzenlendi | UFT Fonksiyon Kütüphanesi düzenleyicisi | Herhangi bir metin veya kod düzenleyici |
| Dışarıya açılıyor UFT | Yok hayır | Evet, düz metin olarak. |
| Sürüm kontrolüne uygunluk | Sınırlı | Daha iyi, çünkü farklar okunabilir. |
| İlişkilendirme yöntemi | İkisi için de aynı | İkisi için de aynı |
Seçim çoğunlukla işlevsellikten ziyade ekip iş akışına bağlıdır. Hızlıca oluşturulmuş tek seferlik bir kütüphane. UFT sorunsuz çalışıyor .qflGit, SVN veya başka bir sürüm kontrol sisteminde tutulan kütüphaneler genellikle şu şekilde saklanır: vbs Dosyalar, çünkü düz metin kod incelemesi sırasında çok daha okunabilir farklar üretir. Her iki format da sınıflar, hata işleme ve COM nesnesi oluşturma dahil olmak üzere tüm VBScript özellik setini destekler ve her ikisi de bir sonraki bölümde açıklandığı gibi bir testle tamamen aynı şekilde ilişkilendirilir.
Dosya uzantısını değiştirmek, dosyanın içeriğini değiştirmez; bu nedenle mevcut bir dosyayı dönüştürmek... .qfl dosyasını vbsYa da tam tersi, sadece dosyanın yeniden adlandırılması ve yeniden adlandırılan dosyanın testle yeniden ilişkilendirilmesinden ibarettir.
Bir Fonksiyon Kütüphanesini Bir Testle İlişkilendirmenin Yolları
Yukarıdaki 2. adımda Kaynaklar iletişim kutusu kullanılıyor, ancak UFT Aslında, bir fonksiyon kütüphanesini bir testle ilişkilendirmek için çeşitli yollar sunar ve doğru olanı seçmek, ilişkilendirmenin kalıcı mı yoksa yalnızca tek bir çalıştırma için mi geçerli olması gerektiğine bağlıdır. Bir test aynı anda birden fazla kütüphaneyle ilişkilendirilebilir ve UFT Bunları Kaynaklar listesinde göründükleri sırayla yükler.
- İşlev Kütüphanesini İlişkilendirme iletişim kutusu (GUI): Dosya > Ayarlar > Kaynaklar > İşlev Kütüphanesini İlişkilendir'i açın, Ekle'ye tıklayın ve dosyayı seçin. UFT Bu ilişkiyi testin içine kaydeder, böylece test her açıldığında kütüphane otomatik olarak yüklenir. Bu, yukarıdaki 2. adımda gösterilen yöntemdir ve bir projedeki her testin ihtiyaç duyduğu herhangi bir kütüphane için varsayılan seçenek olarak iyi çalışır.
- LoadFunctionLibrary ifadesi: Komut dosyası içinden LoadFunctionLibrary “path” fonksiyonunu çağırarak, Kaynaklar iletişim kutusuna dokunmadan çalışma zamanında bir kütüphane ekleyebilirsiniz. UFT Bu yöntem, kütüphaneyi, çalıştırmanın geri kalanında diyalog tabanlı bir ilişkilendirme gibi ele alır; bu da kütüphane yolunun dinamik olarak belirlendiği durumlarda kullanışlıdır.
- ExecuteFile ifadesi: ExecuteFile “path” komutu bir betik dosyasını çalıştırır ve işlevlerini mevcut çalıştırmaya sunar, ancak UFT dosyayı şu şekilde kaydetmiyor: tracBu kaynak, test ayarlarında İlişkili Fonksiyon Kütüphaneleri altında asla görünmediğinden, kullanılamaz.
- Otomasyon Nesne Modeli (AOM): Harici bir VBScript dosyası başlatılabilir. UFTBir test açın ve Test.Settings.Resources.Libraries'e programatik olarak bir kütüphane ekleyin. Derleme veya dağıtım komut dosyaları, aynı kütüphaneyi tek seferde düzinelerce testte yapılandırmak için genellikle bu yaklaşımı kullanır.
' Load a library at run time from inside a script LoadFunctionLibrary "C:\Automation\CommonFunctions.qfl" ' ExecuteFile works the same way, but UFT does not ' track the file as an associated resource ExecuteFile "C:\Automation\CommonFunctions.qfl"
Hangi yöntemi seçerseniz seçin, GUI ve AOM yöntemleri için bir kütüphanenin test başına yalnızca bir kez ilişkilendirilmesi gerekirken, LoadFunctionLibrary ve ExecuteFile yöntemleri kaydedilmiş ayarlar yerine sıradan VBScript ifadeleri oldukları için komut dosyası her çalıştırıldığında yeniden çalıştırılmalıdır.
Bir kütüphaneye artık ihtiyaç duyulmadığında, onu Kaynaklar listesinden kaldırın, ilişkili olarak bırakmayın; çünkü kullanılmayan bir kütüphane, daha sonra farklı bir kütüphaneye eklediğiniz aynı isimli bir işlevi gölgeleyebilir.
Yazmaya İlişkin En İyi Uygulamalar UFT/QTP İşlev Kitaplıkları
Bir fonksiyon kütüphanesi ancak tüm ekip ona güvenip onu sürdürebilirse karşılığını verir. Aşağıdaki alışkanlıklar, bir kütüphanenin büyüdükçe güvenilirliğini korumasını sağlar.
- Option Explicit kullanın: Bunu her kütüphanenin ilk satırı olarak ekleyin, böylece UFT Yeni bir değişken oluşturmak yerine, yanlış yazılmış bir değişkeni işaretler.
- Fonksiyon adlarını birbirinden farklı tutun: Eğer ilişkili iki kütüphane aynı isimde bir fonksiyon tanımlıyorsa, UFT En son yüklenen hangisi ise onu çağırır, bu nedenle aynı isimler sessiz ve anlaşılması zor sorunlara neden olur.tracve böcekler.
- Değerleri doğrudan kodlamak yerine geri döndürün: Aşağıdaki örnekte olduğu gibi, parametreleri kabul edin ve bir sonuç döndürün; böylece aynı fonksiyon tek bir test yerine birden fazla test için kullanılabilir.
- Mesajlardan kaçınınBox Üretim senaryolarında: Mesaj kutusu, birisi "Tamam" düğmesine tıklayana kadar yürütmeyi durdurur. Kullanım Reporter.ReportEvent Bunun yerine, geçme, kalma ve uyarı durumları, durdurma işlemine gerek kalmadan doğrudan sonuç ağacına kaydedilir.ping koşu.
- Kolaylık esasına göre değil, etki alanına göre gruplandırın: Giriş yapma işlevlerini, veritabanı işlevlerini ve kullanıcı arayüzü yardımcı işlevlerini ayrı dosyalarda tutun, böylece herhangi bir test yalnızca gerçekten ihtiyaç duyduğu şeylerle ilişkilendirebilir.
- Kütüphaneleri sürüm kontrolü altında tutun: Fonksiyon kütüphanesi dosyalarını otomasyon projesinin geri kalanıyla aynı depoda saklayın, böylece projenin geri alınması durumunda paylaşılan tüm fonksiyonlar da geri alınır.
Function AddNumbers(ByVal num1, ByVal num2) AddNumbers = num1 + num2 End Function Dim result result = AddNumbers(10, 20) Reporter.ReportEvent micPass, "Sum Calculation", "The result is " & result
Bu alışkanlıkları erken dönemde uygulamak az maliyetlidir, ancak daha sonra büyük ve yönetilmeyen bir kütüphaneye sonradan entegre etmek çok daha pahalıya mal olur.
