Phóng viên.ReportEvent trong UFT/QTP với Ví dụ
⚡ Tóm tắt thông minh
Phóng viên.ReportEvent trong UFT/QTP Nó gửi các thông báo tùy chỉnh về kết quả đạt, không đạt, cảnh báo và thông tin trực tiếp vào Trình xem kết quả chạy bằng cách sử dụng các hằng số trạng thái micPass, micFail, micDone và micWarning, cung cấp cho người kiểm thử bản ghi từng bước dễ đọc về những gì một kịch bản tự động thực sự đã làm.

Reporter.ReportEvent là gì trong UFT/QTP?
Reporter.ReportEvent là một phương pháp tiêu chuẩn được tích hợp sẵn. UFT/QTP (hiện được bán dưới dạng...) OpenText/Lấy nét siêu nhỏ UFT Một) chức năng này ghi trực tiếp một thông báo tùy chỉnh, dễ đọc vào cửa sổ kết quả kiểm thử. Không giống như các phán quyết đạt hoặc không đạt tự động do các điểm kiểm tra tích hợp tạo ra, lệnh ReportEvent cho phép người kiểm thử quyết định chính xác những gì được ghi lại, khi nào và cách thức gắn nhãn.
T HP QTP hướng dẫn minh họa cách sử dụng chức năng Reporter.ReportEvent và Định dạng kết quảBài hướng dẫn yêu cầu bạn xây dựng một đoạn mã ngắn, và hoàn thành bài tập viết mã đó là cách nhanh nhất để thấy báo cáo tùy chỉnh cập nhật cây Kết quả trong thời gian thực.
Nhấp chuột đây nếu video không thể truy cập được
Sự kiện Reporter.ReportEvent rất quan trọng trong tự động hóa vì một kịch bản thường chạy tự động, theo lịch trình hoặc bên trong một quy trình CI/CD. Tệp kết quả chạy trở thành bản ghi duy nhất về những gì đã xảy ra, vì vậy một bước thất bại mà không báo lỗi, hoặc vượt qua mà không có lời giải thích, sẽ khiến việc gỡ lỗi sau này trở nên khó khăn hơn nhiều. Việc thêm một lệnh gọi ReportEvent rõ ràng sau một hành động quan trọng sẽ biến cây Kết quả thành một nhật ký kiểm toán từng bước dễ đọc mà người kiểm thử, nhà phát triển hoặc người quản lý có thể xem xét mà không cần mở kịch bản.
Điều này khác với điểm kiểm tra đối tượng, vốn UFT Nó tự động tạo và báo cáo bằng cách sử dụng tên bước mặc định của riêng nó. Thay vào đó, Reporter.ReportEvent cho phép bạn đính kèm ngôn ngữ có ý nghĩa kinh doanh, chẳng hạn như “Xác nhận đơn hàng đã được hiển thị” thay vì một cụm từ chung chung như “Kiểm tra điểm đạt trên đối tượng WebEdit”, điều này dễ hiểu hơn nhiều đối với người không chuyên về kỹ thuật trong báo cáo cuối cùng. Phương pháp này hoạt động theo cùng một cách cho dù tập lệnh nhắm mục tiêu vào một trang web, một ứng dụng khác. Windows ứng dụng máy tính để bàn hoặc thiết bị đầu cuối máy tính lớn, vì Reporter là một đối tượng toàn cục chứ không phải là thuộc tính của bất kỳ đối tượng kiểm thử nào.
GuruCủa 99 UFT/QTP Loạt bài này sẽ đề cập đến phương pháp này ngay sau đó. Câu lệnh If, Else và ExistsBởi vì hầu hết các lệnh gọi Reporter.ReportEvent đều nằm trong một khối điều kiện quyết định xem kết quả nên được báo cáo là micPass hay micFail.
Cú pháp Reporter.ReportEvent và các giá trị EventStatus
Bạn có thể sử dụng Reporter.ReportEvent để báo cáo các bước kiểm thử tùy chỉnh trong Micro Focus UFTCây kết quả kiểm thử của phương thức này. Phương thức này chấp nhận ba đối số bắt buộc và một đối số tùy chọn, theo một thứ tự cố định như được hiển thị bên dưới.
Reporter.ReportEvent EventStatus, ReportStepName, Details [, ImageFilePath]
Trạng thái sự kiện Thiết lập biểu tượng và màu sắc hiển thị cho bước đó và có thể đảo ngược trạng thái chạy tổng thể; Tên bước báo cáo là nhãn viết tắt xuất hiện trong cây Kết quả Kiểm thử, thường được viết dưới dạng kết quả mong đợi; Chi Tiết chứa phần mô tả dài hơn, thường là kết quả thực tế quan sát được; và phần tùy chọn Đường dẫn tệp hình ảnh Đính kèm ảnh chụp màn hình được chụp trước đó trong kịch bản vào bước cụ thể đó.
| VALUE | KHÔNG THAY ĐỔI | ẢNH HƯỞNG ĐẾN KẾT QUẢ | ẢNH HƯỞNG ĐẾN TRẠNG THÁI CHẠY |
|---|---|---|---|
| 0 | micPass | Bước này được hiển thị là Đạt trong cây Kết quả. | Không có thay đổi; bài kiểm tra vẫn tiếp tục đạt. |
| 1 | micFail | Bước này được hiển thị là Thất bại trong cây Kết quả. | Trạng thái tổng thể của quá trình chạy chuyển thành Thất bại. |
| 2 | micĐã xong | Bước này được hiển thị như một thông báo thông tin. | Trạng thái Đạt/Không đạt không thay đổi. |
| 3 | Cảnh báo mic | Bước này được hiển thị dưới dạng cảnh báo. | Trạng thái Đạt/Không đạt không thay đổi. |
Mỗi hằng số cũng có thể được truyền dưới dạng giá trị số thay vì tên của nó, vì vậy Reporter.ReportEvent 1, “Step”, “Detail” hoạt động chính xác như Reporter.ReportEvent micFail, “Step”, “Detail”Việc sử dụng hằng số được đặt tên sẽ giúp kịch bản dễ đọc hơn, và người kiểm thử khác sẽ chỉnh sửa kịch bản đó sau này.
Một đoạn mã thường lồng nhiều lệnh ReportEvent bên trong một hành động: một mục micDone trước khi hành động bắt đầu, một mục micPass hoặc micFail để kiểm tra phím, và các mục micWarning bổ sung cho bất kỳ điều bất thường nào được phát hiện trong quá trình thực hiện.
- Khi thực hiện các trường hợp kiểm thử bằng công cụ tự động hóa, một số người dùng có thể khó hiểu được kết quả kiểm thử thô. Bạn có thể sử dụng Sử dụng results.xml để tạo tệp XSL hiển thị kết quả kiểm tra theo cách bạn muốn..
- Vous sử dụng pouvez aussi vbscript các hàm thư viện Lưu kết quả vào tệp xls hoặc tệp văn bản. để báo cáo bên ngoài UFT.
Hướng dẫn sử dụng Reporter.ReportEvent: Ví dụ thực tế
Nắm vững cú pháp là một chuyện; việc nhìn thấy nó trong một đoạn mã thực tế mới là điều giúp hiểu rõ bốn hằng số trạng thái. Ví dụ dưới đây bao bọc một điều kiện kiểm tra bên trong câu lệnh If…Then…Else, sau đó báo cáo kết quả đạt hoặc không đạt bằng Reporter.ReportEvent để kết quả xuất hiện trong cây Kết quả chính xác ở vị trí mà người đánh giá mong đợi.
If Browser("Guru99 Demo").Page("Guru99 Demo").WebButton("Login").Exist(5) Then Reporter.ReportEvent micPass, "Login button check", "Login button was found on the page" Else Reporter.ReportEvent micFail, "Login button check", "Login button was not found on the page" End If
Điều này phản ánh mô hình được hiển thị trong GuruCủa 99 Câu lệnh điều kiện trong VBScript Đây là một ví dụ hướng dẫn, trong đó khối If…Then…Else lựa chọn giữa hai kết quả; điểm khác biệt duy nhất ở đây là mỗi nhánh cũng gọi Reporter.ReportEvent để ghi lại kết quả.
Sử dụng micĐã xong cho một bước chỉ mang tính chất thông tin thuần túy, và Cảnh báo mic Khi có điều gì đó bất thường nhưng không nên khiến quá trình chạy thất bại hoàn toàn. Đoạn mã tiếp theo ghi lại bước nhập dữ liệu là Đã hoàn thành, sau đó gắn cờ cảnh báo về phản hồi chậm và đính kèm ảnh chụp màn hình bằng đối số tùy chọn ImageFilePath.
Reporter.ReportEvent micDone, "Enter search text", "Typed 'UFT tutorial' into the search box" errorImage = "C:\Results\SearchDelay.png" Browser("Guru99 Demo").CaptureBitmap errorImage, True Reporter.ReportEvent micWarning, "Search response time", "Results took longer than 5 seconds to load", errorImage
Giữ Tên bước báo cáo ngắn gọn và giữ Chi Tiết Cụ thể về kết quả thực tế. Một người đánh giá khi xem xét hàng trăm bước được ghi lại sau một lần chạy thất bại qua đêm sẽ có thể biết điều gì đã xảy ra mà không cần mở kịch bản, và một mẫu đặt tên nhất quán trên mọi hành động sẽ giúp việc quét nhanh hơn nhiều.
Các nhóm gọi ReportEvent từ nhiều tập lệnh thường chuyển logic này vào một hàm VBScript dùng chung, chẳng hạn như LogStep(status, name, details), để mỗi tập lệnh tạo ra một cây Kết quả nhất quán mà không cần lặp lại cùng một khối If…Then.
Thuộc tính đối tượng Reporter: Filter, ReportPath và RunStatus
Reporter.ReportEvent không phải là thành viên duy nhất của đối tượng Reporter. Ba thuộc tính bổ sung cung cấp thêm quyền kiểm soát đối với nội dung và vị trí của kết quả. UFT Chúng được lưu trữ và xuất hiện thường xuyên trong các khung tự động hóa sản xuất.
| BẤT ĐỘNG SẢN | MỤC ĐÍCH | SỬ DỤNG ĐIỂN HÌNH |
|---|---|---|
| Lọc | Kiểm soát loại sự kiện nào được ghi vào kết quả. | Reporter.Filter = rfEnableErrorsAndWarnings ẩn các bước đã thực hiện trong quá trình chạy dài. |
| Đường dẫn báo cáo | Chỉ đọc; trả về thư mục nơi lưu trữ kết quả của lần chạy hiện tại. | resultsFolder = Reporter.ReportPath |
| Trạng thái chạy | Chỉ đọc; trả về trạng thái Đạt/Không đạt hiện tại của lần chạy cho đến nay. | Nếu Reporter.RunStatus = micFail thì thoát hành động. |
Reporter.Filter chấp nhận bốn giá trị: 0 hoặc rfEnableAll hiển thị mọi sự kiện và là giá trị mặc định; 1 hoặc rfEnableErrorsAndWarnings ẩn các bước đã thực thi; 2 hoặc rfEnableErrorsOnly ẩn cả các bước đã thực thi và cảnh báo; và 3 hoặc rfDisableAll tắt hoàn toàn việc ghi nhật ký kết quả. Kiểm tra Reporter.RunStatus giữa chừng kịch bản cho phép một nhánh kiểm thử tạo ra logic riêng của nó, ví dụ như bỏ quaping Các bước còn lại trong một hành động sau khi bước trước đó đã thất bại.
Vì ReportPath và RunStatus chỉ có thể đọc, bạn không thể gán giá trị cho chúng; hãy sử dụng chúng để đọc thông tin về lần chạy hiện tại, ví dụ như ghi đường dẫn thư mục kết quả vào tệp nhật ký ở đầu kịch bản hoặc dừng một thao tác dài sau khi xảy ra lỗi nghiêm trọng. Việc đọc các thuộc tính này chỉ thêm một lượng chi phí không đáng kể, vì vậy bạn có thể kiểm tra Reporter.RunStatus sau mỗi bước chính trong một bộ kiểm thử hồi quy dài mà không làm chậm quá trình chạy một cách đáng kể.
Các phương pháp thực hành tốt nhất cho Reporter.ReportEvent trong UFT
Một vài thói quen giúp cho việc tạo báo cáo tùy chỉnh trở nên hữu ích thay vì gây rối.
- Chỉ sử dụng micFail cho những lỗi thực sự: Mỗi lần gọi micFail sẽ đảo ngược Reporter.RunStatus, vì vậy việc sử dụng nó để khắc phục các lỗi nhỏ về hình thức sẽ che giấu các lỗi thực sự xảy ra sau này trong cùng một lần chạy.
- Viết ReportStepName giống như kết quả mong đợi: Người đánh giá nên hiểu được nội dung kiểm tra chỉ dựa vào tên bước, mà không cần đọc cột Chi tiết.
- Chỉ chụp ảnh màn hình khi xảy ra lỗi: Việc truyền ImageFilePath ở mỗi bước sẽ nhanh chóng làm đầy thư mục kết quả và làm chậm quá trình chạy mà không mang lại nhiều lợi ích.
- Lọc bỏ các tín hiệu nhiễu: Đặt Reporter.Filter thành rfEnableErrorsAndWarnings cho các lần chạy theo lịch trình hoặc CI để các bước đã thực hiện không che khuất những lỗi quan trọng.
- Tập trung hóa logic: Bao bọc các lệnh gọi Reporter.ReportEvent bên trong một hàm có thể tái sử dụng. hoạt động hoặc thư viện hàm để mọi tập lệnh trong bộ kiểm thử đều ghi nhật ký kết quả theo cùng một cách.
- Dành cho người đọc không chuyên về kỹ thuật: Kết hợp results.xml với XSL tùy chỉnh khi các bên liên quan bên ngoài nhóm QA cần xem xét kết quả mà không cần mở tệp này. UFT.
