Cài đặt và sử dụng TestNG cho Eclipse hoặc IntelliJ và chạy code theo cấu trúc TestNG Framework.
TestNG là 1 công cụ kiểm thử tự động được viết bằng Java, có chức năng quản lý việc tạo test case, thứ tự chạy test case và report sau khi test.
TestNG được xây dựng từ cảm hứng của 2 Framework là JUnit (Java) và NUnit (C#). NG là viết tắt của từ Next Generation.
Xem mindmap để có cái nhìn tổng quan hơn về testNG
Eclipse là một trong những IDE rất phổ biến để phát triển test trong Java.
Và để sử dụng testNG, không phải là sẽ tải về và cài đặt như một tool, mà sẽ giống như một cái phần mềm nho nhỏ được cài đặt tích hợp trong Eclipse.
Để cài đặt thành công TestNG thì chúng ta cần chuẩn bị:
Bắt đầu nhé
1. Mở Eclipse IDE lên -> click Help > Eclipse Marketplace…
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng-help-marketplace.png)
2. Gõ TestNG và nhấn Go để tìm kiếm framework như hình bên dưới
3. Nhấn Install để cài đặt
Tiến trình đang chạy để xác nhận chọn gói TestNG for Eclipse:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng-process.png)
4. Các bạn nhấn chọn hết và “Confirm” để xác nhận bước tiếp theo
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng-confirm.png)
5. Chọn “I accept…” và nhấn “Finish“
Nếu có cửa sổ bật lên xác nhận như hình bên dưới thì các bạn chọn “Install anyway“
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng-anyway.png)
Chờ cho đến khi cài đặt xong và khởi động lại TestNG là được
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng-process.png)
Sau khi khởi động lại, hãy xác minh xem TestNG có thực sự được cài đặt thành công hay không.
Bấm vào Window > Show View > Other
Sau đó, mở thư mục Java và xem TestNG có hiện lên chưa.
HOÀN TẤT RỒI CÒN GÌ NỮA ĐÂU :))
Bây giờ, chúng ta sẽ tìm hiểu cách tạo test case đầu tiên của mình bằng cách sử dụng Chú thích (Annotation) TestNG trong Selenium
Trước tiên chúng ta tạo một Project TestNG mới trong Eclipse và đặt tên là “FirstTestNGProject”.
Bước 1: Nhấp vào File > New > Java Project
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_1.png)
Bước 2: Gõ “FirstTestNGProject” làm Tên dự án, sau đó nhấp vào Next.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_2.png)
Bước 3: Bây giờ chúng ta sẽ bắt đầu thêm Thư viện TestNG vào dự án của mình. Nhấp vào tab “Libraries“, sau đó nhấp vào “Add Library…“
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_3.png)
Bước 4: Trên hộp thoại Thêm Thư viện, chọn “TestNG” và nhấp vào Next.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_4.png)
Bước 5: Nhấp vào Finish.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_5.png)
Bạn sẽ thấy TestNG hiển thị trong danh sách Libraries.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_6.png)
Bước 6: Bây giờ chúng ta sẽ thêm các tệp JAR có chứa API Selenium. Vào đây tải https://www.selenium.dev/downloads/
Phần này chúng ta đã cài đặt Selenium vào Eclipse bài trước chắc quen rồi. Quên thì lật lại coi :))
=> [Selenium Java] Lesson 4: Cài đặt môi trường Selenium với Java
Bước 7: Nhấp vào Apply và Close.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_7-1.png)
Bước 1: Nhấp chuột phải vào thư mục gói “src” rồi chọn New > Other…
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_7.png)
Bước 2: Nhấp vào thư mục TestNG và chọn tùy chọn “TestNG class“. Nhấn Next.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_8.png)
Bước 3: Nhập các giá trị như mẫu bên dưới và nhấp vào Finish.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_9.png)
Eclipse sẽ tự động tạo mẫu cho tệp TestNG cho chúng ta như hiển thị bên dưới.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_10.png)
Code mẫu chạy thử nào:
package testngpackage;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.*;
public class AutomationTestNG {
public String baseUrl = "https://anhtester.com";
String driverPath = "D:\\TESTER\\SeleniumJava\\Setup\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", driverPath);
public WebDriver driver ;
@Test
public void verifyHomepageTitle() {
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.navigate().to(baseUrl);
Thread.sleep(2000);
String expectedTitle = "Anh Tester - Automation Testing";
String actualTitle = driver.getTitle();
Assert.assertEquals(actualTitle, expectedTitle);
Thread.sleep(2000);
driver.quit();
}
}
JavaCopy
Để chạy thử nghiệm, chỉ cần chạy tệp trong Eclipse như bạn thường làm. Eclipse sẽ cung cấp hai đầu ra
– Một trong cửa sổ Console
– Một trên cửa sổ TestNG Results.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_11.png)
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_12.png)
Cửa sổ Console trong Eclipse cung cấp một báo cáo dựa trên văn bản về kết quả trường hợp thử nghiệm của chúng tôi trong khi cửa sổ Kết quả TestNG cung cấp cho chúng ta một báo cáo đồ họa.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_13.png)
TestNG có khả năng tạo báo cáo ở định dạng HTML.
Bước 1: Sau khi chạy FirstTestNGFile mà chúng ta đã tạo ở phần trước, nhấp chuột phải vào tên dự án (FirstTestNGProject) trong cửa sổ Project Explorer rồi nhấp vào tùy chọn “Refresh“.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_14.png)
Bước 2: Lưu ý rằng một thư mục “test-output” đã được tạo. Mở rộng nó và tìm kiếm tệp index.html. Tệp HTML này là báo cáo kết quả của lần chạy thử nghiệm gần đây nhất.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_15.png)
Bước 3: Nhấp đúp vào tệp index.html đó để mở tệp trong trình duyệt web được tích hợp sẵn của Eclipse. Bạn có thể làm mới trang này bất kỳ lúc nào sau khi chạy lại bài kiểm tra của mình bằng cách chỉ cần nhấn F5 giống như trong các trình duyệt web thông thường.
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/su_dung_testng_-_16.png)
Tạo Project demo của chúng ta:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_1.png)
Trong mỗi Class, ta chỉ cần add 2 Method.
@Test
public void firstTest() {
System.out.println("First test method");
}
@Test
public void secondTest() {
System.out.println("Second test method");
}
JavaCopy
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_2.png)
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_6.png)
Lưu ý:
Nội dung của file testng.xml:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" verbose="1">
<test name="FirstTest">
<classes>
<class name="firstpackage.FirstClass" />
</classes>
</test>
</suite>
JavaCopy
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" verbose="1">
<test name="FirstTest">
<classes>
<class name="firstpackage.FirstClass" />
<class name="firstpackage.SecondClass" />
</classes>
</test>
</suite>
JavaCopy
Khi run xong, kết quả sẽ hiển thị như sau:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_4.png)
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" verbose="1">
<test name="FirstTest">
<packages>
<package name="firstpackage" />
<package name="secondpackage" />
</packages>
</test>
</suite>
JavaCopy
Khi run xong, kết quả sẽ hiển thị như sau:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_5.png)
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite" verbose="1">
<test name="FirstTest">
<classes>
<class name="firstpackage.FirstClass">
<methods>
<include name="firstTest" />
</methods>
</class>
<class name="secondpackage.FirstClass">
<methods>
<include name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>
JavaCopy
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Combine Suite" verbose="1">
<test name="Combine Test">
<packages>
<package name="firstpackage" />
</packages>
<classes>
<class name="secondpackage.FirstClass" />
<class name="thirdpackage.FirstClass">
<methods>
<include name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>
JavaCopy
Đây là kết quả:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_6.png)
Bạn sẽ thấy là TestNG không run theo thứ tự test mà bạn đã config trong TestNG từ firstpackage –> secondpackage –> thirdpackage. Lý do là vì với TestNG thì những thằng nằm dưới <test> là ngang hàng, lúc đó nó chỉ quan tâm đến tên của Class và thứ tự theo bảng chữ cái (Aphabetically). Và các methods trong 1 Class cũng được run theo thứ tự bảng chữ cái. Đó là lý do vì sao nhiều bạn khi mới học cảm thấy khó chịu vì nó không run theo thứ tự từ trên xuống dưới. =))) Để config run theo thứ tự ta mong muốn sẽ được nói ở 1 bài khác, cách bài này không xa lắm.
Include: được dùng trong các trường hợp sau đây:
Exclude: được dùng trong các trường hợp sau đây:
Ví dụ:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Exclude Method Suite" verbose="1">
<test name="Exclude Method Test">
<classes>
<class name="firstpackage.FirstClass">
<methods>
<exclude name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>
JavaCopy
Đây là kết quả:
![[Selenium Java] Lesson 9: Cài đặt và sử dụng TestNG | Anh Tester](https://anhtester.com/uploads/lesson/selenium_java/testng/testng_run_7.png)
NOTE: Một project có thể có nhiều file config.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE