Cách thực hiện các trường hợp kiểm thử thất bại trong TestNG

⚡ Tóm tắt thông minh

Đang chạy các trường hợp kiểm thử thất bại trong TestNG Cho phép người kiểm thử cô lập và thực hiện lại chỉ những bài kiểm thử không đạt, tiết kiệm thời gian và giảm thiểu việc thực hiện trùng lặp trên toàn bộ bộ kiểm thử.

  • 🛠️ Thiết lập dự án: Tạo ra một Java dự án trong Eclipse, thêm vào TestNG và Selenium Các thư viện JAR, và định nghĩa hai lớp kiểm thử (DemoA và DemoB).
  • 🔄 TestNG Chuyển đổi: Chuyển đổi Java các lớp học đến một TestNG chọn bộ ứng dụng bằng cách nhấp chuột phải và chọn TestNG Tùy chọn chuyển đổi để tạo tệp testng.xml.
  • 💻 Thực thi lệnh trên dòng lệnh: Chạy bộ kiểm thử testng.xml từ dấu nhắc lệnh bằng lệnh java -cp với đường dẫn classpath chính xác trỏ đến các thư mục lib và bin.
  • Phát hiện lỗi kiểm tra: TestNG Tự động tạo tệp testng-failed.xml bên trong thư mục test-output bất cứ khi nào một hoặc nhiều trường hợp kiểm thử thất bại.
  • 🔁 Chạy lại các bài kiểm tra thất bại: Thực thi testng-failed.xml từ một trong các cách sau: Eclipse (Chạy với tư cách) TestNG (Bộ kiểm thử) hoặc dòng lệnh để chạy lại chỉ những trường hợp kiểm thử bị lỗi.

Tạo ra một Selenium Dự án

Chuẩn bị dự án trước khi chuyển đổi nó sang TestNGCác bước dưới đây hướng dẫn cách tạo một... Java dự án trong EclipseThiết lập cấu trúc gói và thêm các thư viện JAR cần thiết.

Bước 1) In Eclipse, tạo một Java dự án bằng cách nhấp vào Mới Java Dự án.

Tạo ra một Selenium Dự án

Bước 2) Ở bước này:

  1. Đặt tên cho dự án.
  2. Chọn môi trường thực thi.
  3. Chọn tùy chọn bố cục dự án.
  4. Nhấn vào Kết thúc .

Tạo ra một Selenium Dự án

Sau khi nhấn nút Hoàn tất, Dự án thử nghiệm Java Dự án được tạo và sẽ xuất hiện trong Trình khám phá gói.

Tạo ra một Selenium Dự án

Bước 3) Mở dự án vừa tạo. Bạn sẽ thấy... src thư mục trong Trình khám phá gói.

  1. Nhấp chuột phải vào dự án và chọn Mới.
  2. Chọn hình ba gạch Bưu kiện tùy chọn.

Tạo ra một Selenium Dự án

Bước 4) Ở bước này:

  1. Duyệt đến thư mục src và chọn gói.
  2. Đặt tên cho gói hàng.
  3. Nhấp chuột Kết thúc(Tên gói: com.test)

Tạo ra một Selenium Dự án

Sau khi nhấp Kết thúcCấu trúc dự án sẽ trông như thế này:

Tạo ra một Selenium Dự án

Bước 5) Ở bước này:

  1. Nhấp chuột phải vào gói vừa tạo.
  2. Chọn hình ba gạch Lớp tùy chọn.

Tạo ra một Selenium Dự án

Một cửa sổ mới sẽ mở ra.

Bước 6) Ở bước này:

  1. Hãy đặt tên cho lớp học.
  2. Chọn các từ bổ nghĩa.
  3. Duyệt và chọn lớp cha java.lang.Object.
  4. Nhấp chuột Kết thúc.

Ở đây, bạn đang tạo hai lớp: Bản demoDemoB.

Đầu tiên, hãy tạo lớp DemoA.

Tạo ra một Selenium Dự án

Sau khi nhấp Kết thúcLớp học sẽ được tạo ra như sau:

Tạo ra một Selenium Dự án

Tương tự, hãy tạo lớp DemoB:

Tạo ra một Selenium Dự án

Bước 7) Nếu bạn đã cài đặt TestNG thư viện, nhấp vào Java Dự án → Thuộc tính.

Tạo ra một Selenium Dự án

Bước 8) Trong cửa sổ Thuộc tính:

  1. Nhấp vào Java Xây dựng đường dẫn.
  2. Nhấp vào Thư viện.
  3. Nhấp vào Thêm thư viện.

Tạo ra một Selenium Dự án

Tiếp theo:

  1. Nhấp vào TestNG và sau đó
  2. Nhấp vào Trang Tiếp.

Tạo ra một Selenium Dự án

Sau đó nhấp vào Kết thúc .

Tạo ra một Selenium Dự án

Sau đó, hãy viết đoạn mã sau.

Dành cho Bài Trình diễn Lớp A:

Tạo ra một Selenium Dự án

Code Giải thích:

  • driver.manage().window().maximize(); — Phóng to cửa sổ trình duyệt.
  • driver.get("https://www.google.co.in"); — nhập thông tin được chỉ định URL trong trường địa chỉ.
  • driver.findElement(By.name("q")).sendKeys("Hi"); — xác định vị trí Google Hộp tìm kiếm và nhập văn bản bằng phương thức sendKeys.

Đầu ra: Chương trình trên chứa lỗi, do đó không thể chạy trực tiếp.

Tương tự, đối với Lớp DemoB:

Tạo ra một Selenium Dự án

Các từ được gạch chân màu đỏ cho biết lỗi do tệp JAR cần thiết chưa được thêm vào. Để khắc phục các lỗi này, hãy thêm tệp JAR tương ứng. Nhấp chuột phải vào... Java Dự án và lựa chọn Bất động sản.

Tạo ra một Selenium Dự án

Bước 8 (tiếp theo) Trong cửa sổ Thuộc tính:

  1. Nhấp vào Java Xây dựng đường dẫn trong khung điều hướng bên trái.
  2. Click vào Thư viện tab.
  3. Nhấp chuột Thêm các tệp JAR bên ngoài Và chọn Selenium Tệp JAR độc lập.
  4. Nhấp chuột OK.

Tạo ra một Selenium Dự án

Sau bước này, tất cả các lỗi sẽ được tự động loại bỏ. Nếu vẫn còn lỗi, hãy di chuột qua đoạn mã được đánh dấu lỗi và nhập các lớp và giao diện cần thiết. Ví dụ: @Test lỗi, di chuột và chọn Thêm TestNG Thư viện.

Bước 9) Ở bước này:

  1. Nhấp chuột phải vào dự án và chọn... Thư mục tùy chọn để tạo thư mục có tên lib.
  2. Dán TestNG JAR và Selenium JAR (selenium-server-standalone ) vào thư mục này. Tải xuống cả hai tệp JAR từ web, sao chép chúng, sau đó nhấp chuột phải vào thư mục lib trong Eclipse và chọn Dán.

Tạo ra một Selenium Dự án

Bước 10) Ở bước này:

  1. Chọn thư mục cha.
  2. Đặt tên cho thư mục. lib(Thư mục này chỉ cần thiết cho việc thực thi dòng lệnh; nó không cần thiết khi chạy testng.xml từ...) Eclipse.)
  3. Nhấp chuột Kết thúc.

Tạo ra một Selenium Dự án

Sau khi tạo thư mục, bước tiếp theo là chuyển đổi các chương trình DemoA và DemoB thành một tệp testng.xml.

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Bước 1) Ở bước này:

  1. Chọn hai đáp án Java Chọn các tệp trong gói và nhấp chuột phải.
  2. Chọn hình ba gạch TestNG tùy chọn.
  3. Nhấp chuột Chuyển đổi sang TestNG.

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Bước 2) Một cửa sổ mới sẽ mở ra. Vui lòng nhập các thông tin sau:

  1. Địa điểm
  2. Tên bộ
  3. Tên bài kiểm tra
  4. Lựa chọn lớp học
  5. Chế độ song song
  6. Nhấp chuột Kết thúc.

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Tệp testng.xml được tạo trong thư mục sau: Java Dự án sẽ trông như thế này:

Chuyển đổi và thực thi Selenium Dự án tới TestNG

(Để chạy testng.xml từ...) EclipseNhấp chuột phải vào tệp trong Trình khám phá gói và chọn Chạy như TestNG Suite.)

Bước 3) Tệp bộ testng.xml sẽ trông như thế này:

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Nếu bạn muốn chạy DemoA trước, hãy xóa dòng đó và thêm nó trước DemoB:

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Bước 4) Sau khi thực thi tệp testng.xml, kết quả sẽ được hiển thị như sau. (Không có đầu ra nào xuất hiện trên bảng điều khiển vì không có câu lệnh System.out.println() nào được viết.)

Chuyển đổi và thực thi Selenium Dự án tới TestNG

Đây là một cách để thực hiện các bài kiểm tra thông qua EclipseĐể chạy bộ kiểm thử testng.xml tương tự từ dấu nhắc lệnh, hãy làm theo các bước dưới đây.

Thực hiện TestNG thông qua dòng lệnh

Để chạy một TestNG Để sử dụng bộ lệnh từ dòng lệnh, trước tiên bạn phải xác định đường dẫn không gian làm việc của dự án và xây dựng lệnh classpath chính xác.

Bước 1) Nhấp chuột phải vào Java dự án và lựa chọn Bất động sảnTrong cửa sổ Thuộc tính, hãy chọn Tài nguyên.

Thực hiện TestNG thông qua dòng lệnh

Bước 2) Nhấn vào Tài nguyên Nhấp vào liên kết trong ngăn điều hướng bên trái để xem vị trí lưu trữ dự án chính xác.

Thực hiện TestNG thông qua dòng lệnh

Không gian làm việc của dự án là C:\Users\User\Desktop\Guru99\TestProjectThay đổi thư mục hiện tại đến vị trí đó trong cửa sổ dòng lệnh.

Bước 3) Nhập lệnh chung sau:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG testng.xml

Đối với dự án này, hãy sử dụng:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
  C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG testng.xml

Bước 4) Ấn Bản đăng ký hạng mục thiCả DemoA và DemoB sẽ được thực thi, và kết quả sẽ được hiển thị trong cửa sổ dòng lệnh.

Thực hiện TestNG thông qua dòng lệnh

Làm thế nào để chỉ chạy các trường hợp kiểm thử thất bại

Nếu bạn chỉ muốn thực thi các trường hợp kiểm thử thất bại thông qua EclipseTrước tiên, hãy làm mới dự án.

Bước 1) Nhấp chuột phải vào Java dự án (DemoA và DemoB) và lựa chọn Refreshhoặc chọn dự án và nhấn F5.

Bước 2) Bây giờ bạn sẽ thấy kết quả kiểm tra thư mục. Bên trong đó có một tệp tin tên là testng-failed.xml.

Chỉ chạy các trường hợp kiểm thử thất bại

Bước 3) Nhấp chuột phải vào tệp này và chọn Chạy với quyền → TestNG Suite.

Lưu ý: thư mục test-output chỉ xuất hiện khi ít nhất một trường hợp kiểm thử thất bại. Nếu tất cả các trường hợp kiểm thử đều thành công, thư mục sẽ không chứa tệp testng-failed.xml. Việc chạy tệp này chỉ thực thi lại các trường hợp kiểm thử thất bại.

Chỉ chạy các trường hợp kiểm thử thất bại

Chạy tập lệnh testng-failed.xml từ dòng lệnh

Bước 1) Mở cửa sổ dòng lệnh và điều hướng đến thư mục làm việc của dự án.

Chạy tệp testng-failed.xml từ dòng lệnh

Không gian làm việc của dự án là C:\Users\User\Desktop\Guru99\TestProjectThay đổi thư mục đến vị trí đó.

Bước 2) Nhập lệnh chung sau:

java –cp "path_of_lib_folder\*; path_of_bin_folder; path_of_testng.jar" org.testng.TestNG test-output/testng-failed.xml

Đối với dự án này:

Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml

Bước 3) Ấn Bản đăng ký hạng mục thi. TestNG Chỉ chạy các lớp bị lỗi và hiển thị kết quả cho các lớp đó.

Trong DemoB, nếu bạn thay đổi mã thành đoạn mã sau, phần tử sẽ không được tìm thấy và một ngoại lệ sẽ được ném ra. Vì ngoại lệ không được xử lý, lớp sẽ bị lỗi:

driver.findElement(By.name("a")).sendKeys("Bye");

Chạy tệp testng-failed.xml từ dòng lệnh

Câu Hỏi Thường Gặp

TestNG Sau mỗi lần chạy thử nghiệm có lỗi, chương trình sẽ lưu báo cáo lỗi dưới dạng tệp testng-failed.xml vào thư mục test-output của dự án.

Vâng. Nhấp chuột phải vào testng-failed.xml trong Eclipse và chọn Chạy với quyền TestNG Suite, hoặc sử dụng lệnh java -cp trong dấu nhắc lệnh để trỏ đến test-output/testng-failed.xml.

TestNG Tệp testng-failed.xml chỉ được tạo khi ít nhất một bài kiểm tra thất bại. Nếu tất cả các bài kiểm tra đều thành công, tệp XML báo lỗi sẽ không xuất hiện trong kết quả kiểm tra.

Đúng vậy. Các công cụ AI có thể phân tích ngăn xếp. tracSử dụng nội dung của tệp .es và testng-failed.xml để xác định nguyên nhân gốc rễ, đề xuất sửa lỗi mã và tự động đề xuất cải tiến quy trình kiểm tra xác thực.

Trí tuệ nhân tạo (AI) có thể tạo ra các triển khai IRetryAnalyzer, phân loại các lỗi không ổn định so với lỗi thực sự, và tự động điều chỉnh số lần thử lại dựa trên các mẫu kết quả kiểm thử trong quá khứ.

Tóm tắt bài viết này với: