Skip to content

Commit 56345bb

Browse files
committed
Update lesson 31 Test Listener in TestNG
1 parent 290198f commit 56345bb

File tree

6 files changed

+64
-12
lines changed

6 files changed

+64
-12
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,8 @@ buildNumber.properties
1313
*.iml
1414
reports/
1515
screenshots/
16+
null/
17+
*.png
18+
*.jpg
19+
*.mp4
20+
*.avi

src/test/java/anhtester/com/common/BaseTest.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package anhtester.com.common;
22

33
import anhtester.com.drivers.DriverManager;
4-
import anhtester.com.helpers.CaptureHelper;
54
import anhtester.com.helpers.PropertiesHelper;
65
import io.github.bonigarcia.wdm.WebDriverManager;
76
import org.openqa.selenium.WebDriver;
@@ -10,7 +9,6 @@
109
import org.openqa.selenium.edge.EdgeDriver;
1110
import org.openqa.selenium.edge.EdgeOptions;
1211
import org.openqa.selenium.firefox.FirefoxDriver;
13-
import org.testng.ITestResult;
1412
import org.testng.annotations.AfterMethod;
1513
import org.testng.annotations.BeforeMethod;
1614
import org.testng.annotations.Optional;
@@ -80,14 +78,7 @@ private static WebDriver initFirefoxDriver() {
8078
}
8179

8280
@AfterMethod
83-
public static void closeDriver(ITestResult iTestResult) {
84-
if (iTestResult.getStatus() == ITestResult.FAILURE) {
85-
//Chụp màn hình
86-
CaptureHelper.captureScreenshot(iTestResult.getName());
87-
}
88-
89-
// CaptureHelper.stopRecord();
90-
81+
public static void closeDriver() {
9182
if (DriverManager.getDriver() != null) {
9283
DriverManager.quit();
9384
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package anhtester.com.listeners;
2+
3+
import anhtester.com.helpers.CaptureHelper;
4+
import anhtester.com.helpers.PropertiesHelper;
5+
import org.testng.ITestContext;
6+
import org.testng.ITestListener;
7+
import org.testng.ITestResult;
8+
9+
public class TestListener implements ITestListener {
10+
11+
@Override
12+
public void onStart(ITestContext result) {
13+
PropertiesHelper.loadAllFiles();
14+
//Khởi tạo report (Extent và Allure)
15+
}
16+
17+
@Override
18+
public void onFinish(ITestContext result) {
19+
//Đóng report
20+
}
21+
22+
@Override
23+
public void onTestStart(ITestResult result) {
24+
}
25+
26+
@Override
27+
public void onTestSuccess(ITestResult result) {
28+
System.out.println("Test case " + result.getName() + " is passed.");
29+
}
30+
31+
@Override
32+
public void onTestFailure(ITestResult result) {
33+
System.out.println("Test case " + result.getName() + " is failed.");
34+
//Screenshot khi fail
35+
CaptureHelper.captureScreenshot(result.getName());
36+
System.out.println(result.getThrowable().toString());
37+
}
38+
39+
@Override
40+
public void onTestSkipped(ITestResult result) {
41+
System.out.println("Test case " + result.getName() + " is skipped.");
42+
System.out.println(result.getThrowable().toString());
43+
}
44+
45+
@Override
46+
public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
47+
System.out.println("Đây là test case bị Fail nhưng có phần Success: " + result.getName());
48+
System.out.println(result.getThrowable().toString());
49+
}
50+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#Mon Mar 13 19:53:08 ICT 2023
1+
#Mon Mar 20 20:16:03 ICT 2023
22
label=Invoice overview
1 Byte
Binary file not shown.

suites/SuiteLoginTest.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@
22

33
<suite name="Suite Login Test" verbose="1">
44

5+
<listeners>
6+
<listener class-name="anhtester.com.listeners.TestListener"/>
7+
<listener class-name="anhtester.com.listeners.TestListener"/>
8+
<listener class-name="anhtester.com.listeners.TestListener"/>
9+
</listeners>
10+
511
<test name="Login Test on Chrome" parallel="methods" thread-count="10">
6-
<parameter name="browser" value="chrome"/>
12+
<parameter name="browser" value="edge"/>
713
<classes>
814
<class name="anhtester.com.testcases.LoginTest"/>
915
</classes>

0 commit comments

Comments
 (0)