QTP - Hata İşleme

QTP'de hataları işlemenin çeşitli yolları vardır. QTP ile çalışırken karşılaşabileceğiniz üç olası hata türü vardır. Onlar -

  • Sözdizimi Hataları
  • Mantıksal Hatalar
  • Çalışma Süresi Hataları

Hata Türleri

Sözdizimi Hataları

Sözdizimi hataları, yazım hataları veya kodun VBscripting dil grameri ile onaylanmayan bir parçasıdır. Sözdizimi hataları, kodun derlenmesi sırasında meydana gelir ve hatalar giderilene kadar yürütülemez.

Sözdizimini doğrulamak için Ctrl + F7 klavye kısayolunu kullanın ve sonuç aşağıda gösterildiği gibi görüntülenir. Pencere görüntülenmezse, "Görünüm" → "Hatalar" seçeneğine gidebilir.

Mantıksal Hatalar

Komut dosyası sözdizimsel olarak doğruysa ancak beklenmedik sonuçlar üretiyorsa, bu Mantıksal hata olarak bilinir. Mantıksal hata genellikle yürütmeyi kesintiye uğratmaz ancak yanlış sonuçlar verir. Mantıksal hatalar, çeşitli nedenlerden, çok yanlış varsayımlardan veya gereksinimin yanlış anlaşılmasından ve bazen yanlış program mantığından (do-Until yerine do-while kullanarak) veya Sonsuz Döngülerden kaynaklanabilir.

Mantıksal bir hatayı tespit etmenin yollarından biri, eş incelemeleri gerçekleştirmek ve aynı zamanda aracın yapması gerektiği gibi çalıştığından emin olmak için QTP çıktı dosyasını / sonuç dosyasını doğrulamaktır.

RunTime Hataları

Adından da anlaşılacağı gibi, bu tür bir hata Çalışma Süresi sırasında gerçekleşir. Bu tür hataların nedeni, bir şeyi gerçekleştirmeye çalışan betiğin bunu yapamaması ve yürütmeye devam edemediği için genellikle betiğin durmasıdır. Çalışma Süresi Hataları için klasik örnekler şunlardır:

  • Dosya bulunamadı, ancak komut dosyası dosyayı okumaya çalışıyor
  • Nesne bulunamadı, ancak komut dosyası o belirli nesne üzerinde işlem yapmaya çalışıyor
  • Bir Sayıyı Sıfıra Bölme
  • Dizi öğelerine erişirken Dizi Dizini sınırların dışında

Çalışma Zamanı Hatalarını Ele Alma

Koddaki hataları işlemenin çeşitli yolları vardır.

1. Using Test Settings- Hata işleme, aşağıda gösterildiği gibi "Dosya" >> "Ayarlar" >> "Çalıştır" Sekmesine giderek Test Ayarları olarak tanımlanabilir. Belirtilen ayarlardan herhangi birini seçip "Tamam" a tıklayabiliriz.

2. Using On Error Statement - 'Hata Durumunda' ifadesi, VBScript motorunun kullanıcı dostu olmayan hata mesajlarını görüntülemesine izin vermek yerine, bir test cihazı tarafından çalışma zamanı hatalarını işleme niyetlerini VBScript motoruna bildirmek için kullanılır.

  • On Error Resume Next - On Error Resume Next, bir hata ile karşılaşıldığında sonraki kod satırını yürütmesi için VBScript motorunu bilgilendirir.

  • On error Goto 0 - Bu, test uzmanlarının hata işlemeyi kapatmasına yardımcı olur.

3. Using Err Object - Hata nesnesi, kodda kolayca hata ayıklayabildiğimiz çalışma zamanı hata numarasını ve hata açıklamasını yakalayan, VBScript içinde yerleşik bir nesnedir.

  • Err.Number- Number özelliği, bir hatayı belirten sayısal bir değer döndürür veya ayarlar. Err.Number değeri 0 ise hata oluşmamıştır.

  • Err.Description - Açıklama özelliği, bir hata hakkında kısa bir açıklama döndürür veya ayarlar.

  • Err.Clear - Clear yöntemi, Err nesnesini sıfırlar ve onunla ilişkili tüm önceki değerleri temizler.

Misal

'Call  the function to Add two Numbers Call Addition(num1,num2) 

Function Addition(a,b)  
   On error resume next  
      If NOT IsNumeric(a) or IsNumeric(b) Then 
         Print "Error number is  " &  err.number & " and description is : 
            " &  err.description 
         Err.Clear 
         Exit Function 
      End If 
   Addition = a+b 

   'disables error handling  
   On Error Goto 0 
End function

4. Using Exit Statement- Çıkış İfadeleri, Err.Number değerine bağlı olarak bir test veya eylemden veya yinelemeden çıkmak için Err nesnesiyle birlikte kullanılabilir. Bu Çıkış ifadelerinin her birini ayrıntılı olarak görelim.

  • ExitTest - Çalışma zamanı yineleme ayarları ne olursa olsun, tüm QTP testinden çıkar.

  • ExitAction - Mevcut eylemden çıkar.

  • ExitActionIteration - Eylemin geçerli yinelemesinden çıkar.

  • ExitTestIteration - QTP testinin mevcut yinelemesinden çıkar ve bir sonraki yinelemeye geçer.

5. Recovery Scenarios - Bir hata ile karşılaşıldığında, belirli koşullara göre kurtarma senaryoları tetiklenir ve ayrı bir bölümde ayrıntılı olarak ele alınır.

6. Reporter Object- Reporter Object, bir olayı çalıştırma sonuçlarına rapor etmemize yardımcı olur. İlgili eylemin / adımın başarılı / başarısız olup olmadığını belirlememize yardımcı olur.

'Syntax: Reporter.ReportEventEventStatus, ReportStepName, Details, 
[ImageFilePath] 

'Example 
Reporter.ReportEvent micFail, "Login", "User is unable to Login."