NỘI DUNG BÀI HỌC
✅Tuỳ chỉnh các giá trị gom vào config.properties
✅Thiết lập AllureListener cải tiến Allure report
✅Chụp ảnh màn hình tất cả các bước trong Allure report
✅Phân tích thành phần chung và riêng trong project
✅Tuỳ chỉnh các giá trị gom vào config.properties
✅Thiết lập AllureListener cải tiến Allure report
1. Tạo class AllureListener
Thiết lập class AllureListener tại đường dẫn sau:
src/test/java/com/anhtester/listeners/AllureListener.java
(Chung với class TestListener)
Gán nội dung vào class AllureListener như sau:
package com.anhtester.listeners;
import com.anhtester.drivers.DriverManager;
import io.qameta.allure.Allure;
import io.qameta.allure.listener.TestLifecycleListener;
import io.qameta.allure.model.Status;
import io.qameta.allure.model.TestResult;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import java.io.ByteArrayInputStream;
public class AllureListener implements TestLifecycleListener {
@Override
public void beforeTestSchedule(TestResult result) {
}
@Override
public void afterTestSchedule(TestResult result) {
}
@Override
public void beforeTestUpdate(TestResult result) {
}
@Override
public void afterTestUpdate(TestResult result) {
}
@Override
public void beforeTestStart(TestResult result) {
}
@Override
public void afterTestStart(TestResult result) {
}
@Override
public void beforeTestStop(TestResult result) {
if (result.getStatus().equals(Status.PASSED)) {
if (DriverManager.getDriver() != null) {
Allure.addAttachment(result.getName() + "_Passed_Screenshot", new ByteArrayInputStream(((TakesScreenshot) DriverManager.getDriver()).getScreenshotAs(OutputType.BYTES)));
}
}
if (result.getStatus().equals(Status.FAILED)) {
if (DriverManager.getDriver() != null) {
Allure.addAttachment(result.getName() + "_Failed_Screenshot", new ByteArrayInputStream(((TakesScreenshot) DriverManager.getDriver()).getScreenshotAs(OutputType.BYTES)));
}
}
}
@Override
public void afterTestStop(TestResult result) {
}
@Override
public void beforeTestWrite(TestResult result) {
}
@Override
public void afterTestWrite(TestResult result) {
}
}
2. Tạo đường dẫn services
Bước 1: Tạo đường dẫn thư mục như sau:
src/main/resources/META-INF/services
Bước 2: Tạo file với tên bắt buộc trong thư mục services như sau:
io.qameta.allure.listener.TestLifecycleListener
Bước 3: Gán nội dung vào file trên:
com.anhtester.listeners.AllureListener
(Đường dẫn trỏ đến class AllureListener bên trên)
Cuối cùng thử đổi version TestNG khác 7.4.0 xem có đính kèm screenshot được hay không.