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…
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:
4. Các bạn nhấn chọn hết và “Confirm” để xác nhận bước tiếp theo
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“
Chờ cho đến khi cài đặt xong và khởi động lại TestNG là được
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
Bước 2: Gõ “FirstTestNGProject” làm Tên dự án, sau đó nhấp vào Next.
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…“
Bước 4: Trên hộp thoại Thêm Thư viện, chọn “TestNG” và nhấp vào Next.
Bước 5: Nhấp vào Finish.
Bạn sẽ thấy TestNG hiển thị trong danh sách Libraries.
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.
Bước 1: Nhấp chuột phải vào thư mục gói “src” rồi chọn New > Other…
Bước 2: Nhấp vào thư mục TestNG và chọn tùy chọn “TestNG class“. Nhấn Next.
Bước 3: Nhập các giá trị như mẫu bên dưới và nhấp vào Finish.
Eclipse sẽ tự động tạo mẫu cho tệp TestNG cho chúng ta như hiển thị bên dưới.
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.
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.
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“.
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.
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.
Tạo Project demo của chúng ta:
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
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:
<!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:
<!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ả:
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ả:
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