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.

  • 📚 Tanım: Fonksiyon kütüphanesi, yeniden kullanılabilir VBScript fonksiyonlarından oluşan bir .qfl veya .vbs dosyasıdır. UFT test arayabilir.
  • Oluşturma: Dosya > Yeni > Fonksiyon Kütüphanesi'nden bir kütüphane oluşturun ve içine standart VBScript Fonksiyon…Fonksiyon Sonu blokları yazın.
  • 🔗 Derneği: Kütüphaneyi Dosya > Ayarlar > Kaynaklar > Fonksiyon Kütüphanesini İlişkilendir seçeneğiyle ekleyerek, işlevlerini teste dahil edin.
  • ▶ ️ Aranıyor: ty komutuyla bir kütüphane fonksiyonunu çağırın.ping Test betiği içindeki argümanlarla birlikte adı, tıpkı yerleşik bir özellik gibi. UFT ifadesi.
  • 🗂️ Dosya biçimleri: Yerel dosya için .qfl'yi seçin. UFT Editör veya .vbs uzantısıyla, sürüm kontrol sistemleri de dahil olmak üzere her yerde okunabilen düz metin dosyası oluşturulabilir.
  • ⚙️ Çalışma zamanı yüklemesi: Kaynaklar iletişim kutusu yerine, bir kütüphaneyi programatik olarak eklemek için LoadFunctionLibrary veya ExecuteFile işlevlerini kullanın.
  • 🧭 İsimlendirme disiplini: İlgili kütüphanelerdeki her fonksiyona benzersiz bir ad verin, çünkü UFT İsimler çakıştığında en son yüklenen tanımı yürütür.
  • 📊 Raporlama: Mesajı DeğiştirBox Reporter.ReportEvent ile yapılan çağrılar sayesinde geçme, başarısız olma ve uyarı durumları doğrudan içinde görünür. UFT sonuç ağacı.

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.

  1. İş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.
  2. 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.
  3. 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.
  4. 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.

SSS

Fonksiyonlar çağırana bir değer döndürebilirken, alt programlar döndüremez. Bir komut dosyasının hesaplanmış bir değer veya geçme/kalma bayrağı gibi bir sonuç döndürmesi gerektiğinde Fonksiyon kullanın; düğmeye tıklama gibi kendi kendine yeten eylemler için ise Alt Program kullanın.

UFT Hata vermez. Kaynaklar ayarlarında kütüphanelerin görünme sırasına bağlı olarak, en son yüklenen tanımı sessizce çağırır; bu nedenle iki kütüphanede aynı adlar bulunması kafa karıştırıcı ve anlaşılması zor sonuçlara yol açabilir.trace sonuçlar.

Evet. Her iki kütüphane de aynı testle ilişkilendirildikten sonra, UFT Tüm fonksiyonlarını tek bir paylaşımlı ad alanına yükler, böylece bir kütüphanedeki herhangi bir fonksiyon, başka bir kütüphanede tanımlanan bir fonksiyonu çağırabilir.

Evet. Yapay zekâ asistanları, gerekli adımların sade bir dille açıklanmasından yola çıkarak VBScript fonksiyonları oluşturabilir; ancak kullanımdan önce oluşturulan kodun doğru nesne referansları ve hata yönetimi açısından bir test uzmanı tarafından incelenmesi gerekir.

Yapay zeka araçları, VBScript mantığını aşağıdaki gibi dillere çevirebilir. Python or Java Bu bir başlangıç ​​taslağıdır, ancak otomatik çeviri nadiren ikisini de mükemmel bir şekilde koruduğu için, bir kalite güvence mühendisinin nesne tanımlamasını ve iş mantığını doğrulaması gerekir.

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