Skip to content

Commit 9630316

Browse files
committed
Update version 1.9.4
1 parent 03bece6 commit 9630316

File tree

12 files changed

+66
-5
lines changed

12 files changed

+66
-5
lines changed

src/main/java/anhtester/com/constants/FrameworkConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ private FrameworkConstants() {
5959
public static final String VIDEO_RECORD = PropertiesHelpers.getValue("VIDEO_RECORD");
6060

6161
public static final String LOCATE = PropertiesHelpers.getValue("LOCATE");
62+
public static final String RETRY_TEST_FAIL = PropertiesHelpers.getValue("RETRY_TEST_FAIL");
6263

6364
public static final int WAIT_DEFAULT = Integer.parseInt(PropertiesHelpers.getValue("WAIT_DEFAULT"));
6465
public static final int WAIT_IMPLICIT = Integer.parseInt(PropertiesHelpers.getValue("WAIT_IMPLICIT"));

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import anhtester.com.helpers.PropertiesHelpers;
66
import anhtester.com.listeners.TestListener;
77
import anhtester.com.projects.cms.CommonPageCMS;
8-
import anhtester.com.projects.crm.pages.CommonPageCRM;
98
import org.openqa.selenium.WebDriver;
109
import org.openqa.selenium.support.ThreadGuard;
1110
import org.testng.annotations.*;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package anhtester.com.listeners;
2+
3+
import org.testng.IAnnotationTransformer;
4+
import org.testng.annotations.ITestAnnotation;
5+
6+
import java.lang.reflect.Constructor;
7+
import java.lang.reflect.Method;
8+
9+
public class AnnotationTransformer implements IAnnotationTransformer {
10+
@Override
11+
public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
12+
annotation.setRetryAnalyzer(Retry.class);
13+
}
14+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package anhtester.com.listeners;
2+
3+
import anhtester.com.constants.FrameworkConstants;
4+
import org.testng.IRetryAnalyzer;
5+
import org.testng.ITestResult;
6+
7+
public class Retry implements IRetryAnalyzer {
8+
private int count = 0;
9+
private static int maxTry = Integer.parseInt(FrameworkConstants.RETRY_TEST_FAIL);
10+
11+
@Override
12+
public boolean retry(ITestResult iTestResult) {
13+
if (!iTestResult.isSuccess()) { //Check if test not succeed
14+
if (count < maxTry) { //Check if maxTry count is reached
15+
count++; //Increase the maxTry count by 1
16+
iTestResult.setStatus(ITestResult.FAILURE); //Mark test as failed
17+
return true; //Tells TestNG to re-run the test
18+
} else {
19+
iTestResult.setStatus(ITestResult.FAILURE); //If maxCount reached,test marked as failed
20+
}
21+
} else {
22+
iTestResult.setStatus(ITestResult.SUCCESS); //If test passes, TestNG marks it as passed
23+
}
24+
return false;
25+
}
26+
}

src/test/resources/config/config.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,5 @@ SCREENSHOT_SKIPPED_STEPS = yes
6565
SCREENSHOT_ALL_STEPS = no
6666
# Locate in DataFaker/JavaFaker
6767
# Java Locale List: https://www.viralpatel.net/java-locale-list-tutorial/
68-
LOCATE = vi
68+
LOCATE = vi
69+
RETRY_TEST_FAIL = 1

src/test/resources/suites/CMS/AddProductCMS.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
<suite name="Regression Tests Add Product CMS">
44

5+
<listeners>
6+
<listener class-name="anhtester.com.listeners.AnnotationTransformer"/>
7+
</listeners>
8+
59
<test name="Tests Add Product CMS">
610
<parameter name="BROWSER" value="chrome"/>
711
<classes>

src/test/resources/suites/CMS/OrderProductCMS.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
<suite name="Regression Tests Order Product CMS">
44

5+
<listeners>
6+
<listener class-name="anhtester.com.listeners.AnnotationTransformer"/>
7+
</listeners>
8+
59
<test name="Tests Order Product CMS">
610
<parameter name="BROWSER" value="chrome"/>
711
<classes>

src/test/resources/suites/Clients-parallel.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
<suite name="Regression Tests Parallel">
44

5+
<listeners>
6+
<listener class-name="anhtester.com.listeners.AnnotationTransformer"/>
7+
</listeners>
8+
59
<test name="Client Test on Chrome" parallel="methods">
610
<parameter name="BROWSER" value="chrome"/>
711
<classes>

src/test/resources/suites/Clients-simple.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<suite name="Regression Test CRM">
44

55
<listeners>
6-
<listener class-name="anhtester.com.listeners.TestListener"/>
6+
<listener class-name="anhtester.com.listeners.AnnotationTransformer"/>
77
</listeners>
88

99
<test name="Client Test">

src/test/resources/suites/Clients-testAddClient.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
<suite name="Regression Test CRM" data-provider-thread-count="1">
44

5+
<listeners>
6+
<listener class-name="anhtester.com.listeners.AnnotationTransformer"/>
7+
</listeners>
8+
59
<test name="Client Test">
610
<parameter name="BROWSER" value="chrome"/>
711
<classes>

0 commit comments

Comments
 (0)