QTP - Xử lý lỗi

Có nhiều cách khác nhau để xử lý lỗi trong QTP. Có ba loại lỗi có thể xảy ra, một lỗi sẽ gặp phải khi làm việc với QTP. Họ là -

  • Lỗi cú pháp
  • Lỗi lôgic
  • Lỗi thời gian chạy

Các loại lỗi

Lỗi cú pháp

Lỗi cú pháp là lỗi chính tả hoặc một đoạn mã không xác nhận với ngữ pháp ngôn ngữ VBscripting. Lỗi cú pháp xảy ra tại thời điểm biên dịch mã và không thể được thực thi cho đến khi lỗi được sửa.

Để xác minh cú pháp, hãy sử dụng phím tắt Ctrl + F7 và kết quả được hiển thị như hình dưới đây. Nếu cửa sổ không được hiển thị, người ta có thể điều hướng đến "Xem" → "Lỗi".

Lỗi lôgic

Nếu tập lệnh đúng về mặt cú pháp nhưng nó tạo ra kết quả không mong muốn thì nó được gọi là lỗi logic. Lỗi logic thường không làm gián đoạn quá trình thực thi nhưng tạo ra kết quả không chính xác. Lỗi logic có thể xảy ra do nhiều lý do, giả định sai hoặc hiểu sai yêu cầu và đôi khi không chính xác logic chương trình (sử dụng do-while thay vì do-Until) hoặc Infinite Loops.

Một trong những cách để phát hiện lỗi logic là thực hiện đánh giá ngang hàng và cũng xác minh tệp kết quả / tệp đầu ra QTP để đảm bảo rằng công cụ đã thực hiện theo cách mà nó được cho là phải làm.

Lỗi RunTime

Như tên đã nêu, loại lỗi này xảy ra trong Thời gian chạy. Lý do cho các loại lỗi như vậy là kịch bản cố gắng thực hiện một cái gì đó không thể thực hiện được và kịch bản thường dừng lại, vì nó không thể tiếp tục thực hiện. Ví dụ cổ điển cho Lỗi thời gian chạy là -

  • Tệp KHÔNG tìm thấy nhưng tập lệnh đang cố đọc tệp
  • KHÔNG tìm thấy đối tượng nhưng tập lệnh đang cố gắng hoạt động trên đối tượng cụ thể đó
  • Chia một số cho 0
  • Chỉ mục mảng ngoài giới hạn khi truy cập các phần tử mảng

Xử lý lỗi thời gian chạy

Có nhiều cách khác nhau để xử lý lỗi trong mã.

1. Using Test Settings- Xử lý lỗi có thể xác định Cài đặt kiểm tra bằng cách Điều hướng đến Tab "Tệp" >> "Cài đặt" >> "Chạy" như hình dưới. Chúng tôi có thể chọn bất kỳ cài đặt nào được chỉ định và nhấp vào "OK".

2. Using On Error Statement - Câu lệnh 'On Error' được sử dụng để thông báo cho công cụ VBScript về ý định xử lý các lỗi trong thời gian chạy của người thử nghiệm, thay vì cho phép công cụ VBScript hiển thị các thông báo lỗi không thân thiện với người dùng.

  • On Error Resume Next - On Error Resume Next thông báo cho công cụ VBScript để xử lý việc thực thi dòng mã tiếp theo khi gặp lỗi.

  • On error Goto 0 - Điều này giúp người kiểm tra tắt tính năng xử lý lỗi.

3. Using Err Object - Đối tượng lỗi là một đối tượng được tích hợp sẵn trong VBScript ghi lại số lỗi thời gian chạy và mô tả lỗi mà chúng tôi có thể gỡ lỗi mã dễ dàng.

  • Err.Number- Thuộc tính Number trả về hoặc đặt một giá trị số xác định lỗi. Nếu giá trị Err.Number là 0 thì Không có lỗi nào xảy ra.

  • Err.Description - Thuộc tính Mô tả trả về hoặc đặt mô tả ngắn gọn về một lỗi.

  • Err.Clear - Phương thức Clear đặt lại đối tượng Err và xóa tất cả các giá trị trước đó được liên kết với nó.

Thí dụ

'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- Exit Statements có thể được sử dụng cùng với đối tượng Err để thoát khỏi thử nghiệm hoặc hành động hoặc lặp lại dựa trên giá trị Err.Number. Hãy để chúng tôi xem chi tiết từng câu lệnh Exit đó.

  • ExitTest - Thoát khỏi toàn bộ kiểm tra QTP, bất kể cài đặt lặp lại thời gian chạy là gì.

  • ExitAction - Thoát khỏi hành động hiện tại.

  • ExitActionIteration - Thoát khỏi sự lặp lại hiện tại của hành động.

  • ExitTestIteration - Thoát khỏi vòng lặp hiện tại của kiểm tra QTP và chuyển sang lần lặp tiếp theo.

5. Recovery Scenarios - Khi gặp lỗi, các kịch bản khôi phục được kích hoạt dựa trên một số điều kiện nhất định và nó được giải quyết chi tiết trong một chương riêng biệt.

6. Reporter Object- Đối tượng Phóng viên giúp chúng tôi báo cáo một sự kiện với kết quả chạy. Nó giúp chúng tôi xác định nếu hành động / bước liên quan là đạt / không đạt.

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

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