Skip to content

Commit 5ef7668

Browse files
committed
Update version 1.9.2 PREVIEW
1 parent dcd334d commit 5ef7668

File tree

14 files changed

+248
-115
lines changed

14 files changed

+248
-115
lines changed

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@
1616
<java-compiler.version>11</java-compiler.version>
1717
<maven-surefire-plugin.version>3.0.0-M7</maven-surefire-plugin.version>
1818
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
19-
<selenium.version>4.6.0</selenium.version>
19+
<selenium.version>4.7.2</selenium.version>
2020
<testng.version>7.4.0</testng.version>
2121
<webdrivermanager.version>5.3.1</webdrivermanager.version>
22-
<aspectjweaver.version>1.9.9.1</aspectjweaver.version>
22+
<aspectjweaver.version>1.9.19</aspectjweaver.version>
2323
<ashot.version>1.5.4</ashot.version>
2424
<log4j.version>2.19.0</log4j.version>
25-
<slf4j.version>2.0.4</slf4j.version>
26-
<allure-testng.version>2.20.0</allure-testng.version>
25+
<slf4j.version>2.0.6</slf4j.version>
26+
<allure-testng.version>2.20.1</allure-testng.version>
2727
<allure-maven.version>2.12.0</allure-maven.version>
2828
<allure-environment-writer.version>1.0.0</allure-environment-writer.version>
2929
<allure.cmd.download.url>

src/main/java/anhtester/com/keyword/WebUI.java renamed to src/main/java/anhtester/com/keywords/WebUI.java

Lines changed: 133 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Automation Framework Selenium
44
*/
55

6-
package anhtester.com.keyword;
6+
package anhtester.com.keywords;
77

88
import anhtester.com.constants.FrameworkConstants;
99
import anhtester.com.driver.DriverManager;
@@ -589,27 +589,27 @@ public static void uploadFileWithSendKeys(By by, String filePath) {
589589
@Step("Get Current URL")
590590
public static String getCurrentUrl() {
591591
smartWait();
592-
Log.info("Current Page Url: " + DriverManager.getDriver().getCurrentUrl());
592+
Log.info("Get Current URL: " + DriverManager.getDriver().getCurrentUrl());
593593
if (ExtentTestManager.getExtentTest() != null) {
594-
ExtentReportManager.info("Current Page Url: " + DriverManager.getDriver().getCurrentUrl());
594+
ExtentReportManager.info("Get Current URL: " + DriverManager.getDriver().getCurrentUrl());
595595
}
596-
AllureManager.saveTextLog("Current Page Url: " + DriverManager.getDriver().getCurrentUrl());
596+
AllureManager.saveTextLog("Get Current URL: " + DriverManager.getDriver().getCurrentUrl());
597597
return DriverManager.getDriver().getCurrentUrl();
598598
}
599599

600600
@Step("Get Page Title")
601601
public static String getPageTitle() {
602602
smartWait();
603603
String title = DriverManager.getDriver().getTitle();
604-
Log.info("Current Page Title: " + DriverManager.getDriver().getTitle());
604+
Log.info("Get Page Title: " + DriverManager.getDriver().getTitle());
605605
if (ExtentTestManager.getExtentTest() != null) {
606-
ExtentReportManager.info("Get Current Page Title: " + DriverManager.getDriver().getTitle());
606+
ExtentReportManager.info("Get Page Title: " + DriverManager.getDriver().getTitle());
607607
}
608-
AllureManager.saveTextLog("Get Current Page Title: " + DriverManager.getDriver().getTitle());
608+
AllureManager.saveTextLog("Get Page Title: " + DriverManager.getDriver().getTitle());
609609
return title;
610610
}
611611

612-
public static boolean verifyPageTitle(String pageTitle) {
612+
public static boolean getPageTitle(String pageTitle) {
613613
smartWait();
614614
return getPageTitle().equals(pageTitle);
615615
}
@@ -619,13 +619,6 @@ public static boolean verifyPageContainsText(String text) {
619619
return DriverManager.getDriver().getPageSource().contains(text);
620620
}
621621

622-
@Step("Verify Page Url {0}")
623-
public static boolean verifyPageUrl(String pageUrl) {
624-
smartWait();
625-
Log.info("Current URL: " + DriverManager.getDriver().getCurrentUrl());
626-
return DriverManager.getDriver().getCurrentUrl().contains(pageUrl.trim());
627-
}
628-
629622
//Handle checkbox and radio button
630623

631624
public static boolean verifyElementChecked(By by) {
@@ -922,6 +915,128 @@ public static boolean verifyElementExists(By by) {
922915
return res;
923916
}
924917

918+
@Step("Verify Equals: {0} ---AND--- {1}")
919+
public static boolean verifyEquals(Object value1, Object value2) {
920+
boolean result = value1.equals(value2);
921+
if (result == true) {
922+
Log.info("Verify Equals: " + value1 + " = " + value2);
923+
if (ExtentTestManager.getExtentTest() != null) {
924+
ExtentReportManager.pass("Verify Equals: " + value1 + " = " + value2);
925+
}
926+
AllureManager.saveTextLog("Verify Equals: " + value1 + " = " + value2);
927+
} else {
928+
Log.info("Verify Equals: " + value1 + " != " + value2);
929+
if (ExtentTestManager.getExtentTest() != null) {
930+
ExtentReportManager.fail("Verify Equals: " + value1 + " != " + value2);
931+
}
932+
AllureManager.saveTextLog("Verify Equals: " + value1 + " != " + value2);
933+
Assert.assertEquals(value1, value2, value1 + " != " + value2);
934+
}
935+
return result;
936+
}
937+
938+
@Step("Verify Equals: {0} ---AND--- {1}")
939+
public static boolean verifyEquals(Object value1, Object value2, String message) {
940+
boolean result = value1.equals(value2);
941+
if (result == true) {
942+
Log.info("Verify Equals: " + value1 + " = " + value2);
943+
if (ExtentTestManager.getExtentTest() != null) {
944+
ExtentReportManager.pass("Verify Equals: " + value1 + " = " + value2);
945+
}
946+
AllureManager.saveTextLog("Verify Equals: " + value1 + " = " + value2);
947+
} else {
948+
Log.info("Verify Equals: " + value1 + " != " + value2);
949+
if (ExtentTestManager.getExtentTest() != null) {
950+
ExtentReportManager.fail("Verify Equals: " + value1 + " != " + value2);
951+
}
952+
AllureManager.saveTextLog("Verify Equals: " + value1 + " != " + value2);
953+
Assert.assertEquals(value1, value2, message);
954+
}
955+
return result;
956+
}
957+
958+
@Step("Verify Contains: {0} ---AND--- {1}")
959+
public static boolean verifyContains(String value1, String value2) {
960+
boolean result = value1.contains(value2);
961+
if (result == true) {
962+
Log.info("Verify Equals: " + value1 + " CONTAINS " + value2);
963+
if (ExtentTestManager.getExtentTest() != null) {
964+
ExtentReportManager.pass("Verify Contains: " + value1 + " CONTAINS " + value2);
965+
}
966+
AllureManager.saveTextLog("Verify Contains: " + value1 + "CONTAINS" + value2);
967+
} else {
968+
Log.info("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
969+
if (ExtentTestManager.getExtentTest() != null) {
970+
ExtentReportManager.fail("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
971+
}
972+
AllureManager.saveTextLog("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
973+
974+
Assert.assertEquals(value1, value2, value1 + " NOT CONTAINS " + value2);
975+
}
976+
return result;
977+
}
978+
979+
@Step("Verify Contains: {0} ---AND--- {1}")
980+
public static boolean verifyContains(String value1, String value2, String message) {
981+
boolean result = value1.contains(value2);
982+
if (result == true) {
983+
Log.info("Verify Equals: " + value1 + " CONTAINS " + value2);
984+
if (ExtentTestManager.getExtentTest() != null) {
985+
ExtentReportManager.pass("Verify Contains: " + value1 + " CONTAINS " + value2);
986+
}
987+
AllureManager.saveTextLog("Verify Contains: " + value1 + "CONTAINS" + value2);
988+
} else {
989+
Log.info("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
990+
if (ExtentTestManager.getExtentTest() != null) {
991+
ExtentReportManager.fail("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
992+
}
993+
AllureManager.saveTextLog("Verify Contains: " + value1 + " NOT CONTAINS " + value2);
994+
995+
Assert.assertEquals(value1, value2, message);
996+
}
997+
return result;
998+
}
999+
1000+
@Step("Verify TRUE with condition: {0}")
1001+
public static boolean verifyTrue(Boolean condition) {
1002+
if (condition == true) {
1003+
Log.info("Verify TRUE: " + condition);
1004+
if (ExtentTestManager.getExtentTest() != null) {
1005+
ExtentReportManager.pass("Verify TRUE: " + condition);
1006+
}
1007+
AllureManager.saveTextLog("Verify TRUE: " + condition);
1008+
} else {
1009+
Log.info("Verify TRUE: " + condition);
1010+
if (ExtentTestManager.getExtentTest() != null) {
1011+
ExtentReportManager.fail("Verify TRUE: " + condition);
1012+
}
1013+
AllureManager.saveTextLog("Verify TRUE: " + condition);
1014+
1015+
Assert.assertTrue(condition, "The condition is FALSE.");
1016+
}
1017+
return condition;
1018+
}
1019+
1020+
@Step("Verify TRUE with condition: {0}")
1021+
public static boolean verifyTrue(Boolean condition, String message) {
1022+
if (condition == true) {
1023+
Log.info("Verify TRUE: " + condition);
1024+
if (ExtentTestManager.getExtentTest() != null) {
1025+
ExtentReportManager.pass("Verify TRUE: " + condition);
1026+
}
1027+
AllureManager.saveTextLog("Verify TRUE: " + condition);
1028+
} else {
1029+
Log.info("Verify TRUE: " + condition);
1030+
if (ExtentTestManager.getExtentTest() != null) {
1031+
ExtentReportManager.fail("Verify TRUE: " + condition);
1032+
}
1033+
AllureManager.saveTextLog("Verify TRUE: " + condition);
1034+
1035+
Assert.assertTrue(condition, message);
1036+
}
1037+
return condition;
1038+
}
1039+
9251040
public static boolean verifyElementText(By by, String text) {
9261041
smartWait();
9271042
waitForElementVisible(by);
@@ -1917,7 +2032,7 @@ public static void checkEqualsValueOnTableByColumn(int column, String value) {
19172032
smartWait();
19182033
sleep(1);
19192034
List<WebElement> totalRows = getWebElements(By.xpath("//tbody/tr"));
1920-
Log.info("Number of results for keyword (" + value + "): " + totalRows.size());
2035+
Log.info("Number of results for keywords (" + value + "): " + totalRows.size());
19212036

19222037
if (totalRows.size() < 1) {
19232038
Log.info("Not found value: " + value);
@@ -1943,7 +2058,7 @@ public static void checkContainsValueOnTableByColumn(int column, String value) {
19432058
smartWait();
19442059
sleep(1);
19452060
List<WebElement> totalRows = getWebElements(By.xpath("//tbody/tr"));
1946-
Log.info("Number of results for keyword (" + value + "): " + totalRows.size());
2061+
Log.info("Number of results for keywords (" + value + "): " + totalRows.size());
19472062

19482063
if (totalRows.size() < 1) {
19492064
Log.info("Not found value: " + value);
@@ -1972,7 +2087,7 @@ public static void checkContainsValueOnTableByColumn(int column, String value, S
19722087
//xpathToTRtagname is locator from table to "tr" tagname of data section: //tbody/tr, //div[@id='example_wrapper']//tbody/tr, ...
19732088
List<WebElement> totalRows = DriverManager.getDriver().findElements(By.xpath(xpathToTRtagname));
19742089
sleep(1);
1975-
Log.info("Number of results for keyword (" + value + "): " + totalRows.size());
2090+
Log.info("Number of results for keywords (" + value + "): " + totalRows.size());
19762091

19772092
if (totalRows.size() < 1) {
19782093
Log.info("Not found value: " + value);

src/test/java/anhtester/com/listeners/TestListener.java

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import anhtester.com.helpers.CaptureHelpers;
88
import anhtester.com.helpers.PropertiesHelpers;
99
import anhtester.com.helpers.ScreenRecoderHelpers;
10-
import anhtester.com.keyword.WebUI;
10+
import anhtester.com.keywords.WebUI;
1111
import anhtester.com.report.AllureManager;
1212
import anhtester.com.report.ExtentReportManager;
1313
import anhtester.com.report.TelegramManager;
@@ -16,14 +16,16 @@
1616
import anhtester.com.utils.Log;
1717
import anhtester.com.utils.ZipUtils;
1818
import com.aventstack.extentreports.Status;
19+
import io.qameta.allure.listener.TestLifecycleListener;
20+
import io.qameta.allure.model.TestResult;
1921
import org.testng.*;
2022

2123
import java.awt.*;
2224
import java.io.IOException;
2325

2426
import static anhtester.com.constants.FrameworkConstants.*;
2527

26-
public class TestListener implements ITestListener, ISuiteListener, IInvokedMethodListener {
28+
public class TestListener implements ITestListener, ISuiteListener, IInvokedMethodListener, TestLifecycleListener {
2729

2830
static int count_totalTCs;
2931
static int count_passedTCs;
@@ -41,8 +43,7 @@ public TestListener() {
4143
}
4244

4345
public String getTestName(ITestResult result) {
44-
return result.getTestName() != null ? result.getTestName()
45-
: result.getMethod().getConstructorOrMethod().getName();
46+
return result.getTestName() != null ? result.getTestName() : result.getMethod().getConstructorOrMethod().getName();
4647
}
4748

4849
public String getTestDescription(ITestResult result) {
@@ -96,28 +97,24 @@ public void onFinish(ISuite iSuite) {
9697
}
9798

9899
public AuthorType[] getAuthorType(ITestResult iTestResult) {
99-
if (iTestResult.getMethod().getConstructorOrMethod().getMethod()
100-
.getAnnotation(FrameworkAnnotation.class) == null) {
100+
if (iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(FrameworkAnnotation.class) == null) {
101101
return null;
102102
}
103-
AuthorType authorType[] = iTestResult.getMethod().getConstructorOrMethod().getMethod()
104-
.getAnnotation(FrameworkAnnotation.class).author();
103+
AuthorType authorType[] = iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(FrameworkAnnotation.class).author();
105104
return authorType;
106105
}
107106

108107
public CategoryType[] getCategoryType(ITestResult iTestResult) {
109-
if (iTestResult.getMethod().getConstructorOrMethod().getMethod()
110-
.getAnnotation(FrameworkAnnotation.class) == null) {
108+
if (iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(FrameworkAnnotation.class) == null) {
111109
return null;
112110
}
113-
CategoryType categoryType[] = iTestResult.getMethod().getConstructorOrMethod().getMethod()
114-
.getAnnotation(FrameworkAnnotation.class).category();
111+
CategoryType categoryType[] = iTestResult.getMethod().getConstructorOrMethod().getMethod().getAnnotation(FrameworkAnnotation.class).category();
115112
return categoryType;
116113
}
117114

118115
@Override
119116
public void onTestStart(ITestResult iTestResult) {
120-
Log.info("Test case: " + getTestName(iTestResult) + " is starting...");
117+
Log.info("Test case: " + getTestDescription(iTestResult) + " is starting...");
121118
count_totalTCs = count_totalTCs + 1;
122119

123120
ExtentReportManager.createTest(iTestResult.getName());
@@ -135,7 +132,7 @@ public void onTestStart(ITestResult iTestResult) {
135132

136133
@Override
137134
public void onTestSuccess(ITestResult iTestResult) {
138-
Log.info("Test case: " + getTestName(iTestResult) + " is passed.");
135+
Log.info("Test case: " + getTestDescription(iTestResult) + " is passed.");
139136
count_passedTCs = count_passedTCs + 1;
140137

141138
if (SCREENSHOT_PASSED_STEPS.equals(YES)) {
@@ -153,7 +150,7 @@ public void onTestSuccess(ITestResult iTestResult) {
153150

154151
@Override
155152
public void onTestFailure(ITestResult iTestResult) {
156-
Log.error("Test case: " + getTestName(iTestResult) + " is failed.");
153+
Log.error("Test case: " + getTestDescription(iTestResult) + " is failed.");
157154
count_failedTCs = count_failedTCs + 1;
158155

159156
if (SCREENSHOT_FAILED_STEPS.equals(YES)) {
@@ -179,7 +176,7 @@ public void onTestFailure(ITestResult iTestResult) {
179176

180177
@Override
181178
public void onTestSkipped(ITestResult iTestResult) {
182-
Log.warn("Test case: " + getTestName(iTestResult) + " is skipped.");
179+
Log.warn("Test case: " + getTestDescription(iTestResult) + " is skipped.");
183180
count_skippedTCs = count_skippedTCs + 1;
184181

185182
if (SCREENSHOT_SKIPPED_STEPS.equals(YES)) {
@@ -191,12 +188,19 @@ public void onTestSkipped(ITestResult iTestResult) {
191188
if (VIDEO_RECORD.toLowerCase().trim().equals(YES)) {
192189
screenRecorder.stopRecording(true);
193190
}
194-
195191
}
196192

197193
@Override
198194
public void onTestFailedButWithinSuccessPercentage(ITestResult iTestResult) {
199-
Log.error("Test failed but it is in defined success ratio " + getTestName(iTestResult));
200-
ExtentReportManager.logMessage("Test failed but it is in defined success ratio " + getTestName(iTestResult));
195+
Log.error("Test failed but it is in defined success ratio: " + getTestDescription(iTestResult));
196+
ExtentReportManager.logMessage("Test failed but it is in defined success ratio: " + getTestDescription(iTestResult));
201197
}
198+
199+
// @Override
200+
// public void beforeTestStop(TestResult result) {
201+
// if (result.getStatus().equals(Status.FAIL) || result.getStatus().equals(Status.SKIP)) {
202+
// AllureManager.takeScreenshotStep();
203+
// }
204+
// }
205+
202206
}

src/test/java/anhtester/com/projects/website/crm/pages/Clients/ClientPage.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package anhtester.com.projects.website.crm.pages.Clients;
22

33
import anhtester.com.enums.FailureHandling;
4-
import anhtester.com.keyword.WebUI;
4+
import anhtester.com.keywords.WebUI;
5+
6+
import static anhtester.com.keywords.WebUI.*;
7+
58
import anhtester.com.projects.website.crm.models.ClientModel;
69
import anhtester.com.projects.website.crm.pages.CommonPage;
710
import org.openqa.selenium.By;

src/test/java/anhtester/com/projects/website/crm/pages/CommonPage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package anhtester.com.projects.website.crm.pages;
22

3-
import anhtester.com.keyword.WebUI;
3+
import anhtester.com.keywords.WebUI;
44
import anhtester.com.projects.website.crm.pages.Clients.ClientPage;
55
import anhtester.com.projects.website.crm.pages.Dashboard.DashboardPage;
66
import anhtester.com.projects.website.crm.pages.Projects.ProjectPage;

0 commit comments

Comments
 (0)