Skip to content

Commit 9d6e1f7

Browse files
committed
Version 2023.04.03: Bump dependencies, selenium/playwright configurable driver close level
1 parent 8080f56 commit 9d6e1f7

File tree

25 files changed

+170
-74
lines changed

25 files changed

+170
-74
lines changed

mrchecker-framework-modules/mrchecker-cli-module/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<artifactId>mrchecker-test-framework</artifactId>
88
<groupId>com.capgemini.mrchecker</groupId>
9-
<version>2023.03.28</version>
9+
<version>2023.04.03</version>
1010
</parent>
1111

1212
<artifactId>mrchecker-cli-module</artifactId>
13-
<version>2023.03.28</version>
13+
<version>2023.04.03</version>
1414
<packaging>jar</packaging>
1515
<name>MrChecker - CLI - Module</name>
1616
<description>MrChecker CLI Module supports:
@@ -60,7 +60,7 @@
6060
<dependency>
6161
<groupId>${project.groupId}</groupId>
6262
<artifactId>mrchecker-core-module</artifactId>
63-
<version>2023.03.28</version>
63+
<version>2023.04.03</version>
6464
</dependency>
6565
</dependencies>
6666

mrchecker-framework-modules/mrchecker-core-module/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
<parent>
88
<artifactId>mrchecker-test-framework</artifactId>
99
<groupId>com.capgemini.mrchecker</groupId>
10-
<version>2023.03.28</version>
10+
<version>2023.04.03</version>
1111
</parent>
1212

1313
<artifactId>mrchecker-core-module</artifactId>
14-
<version>2023.03.28</version>
14+
<version>2023.04.03</version>
1515
<packaging>jar</packaging>
1616
<name>MrChecker - Test core - Module</name>
1717
<description>MrChecker Test Framework Core is responsible for:
@@ -63,8 +63,8 @@
6363
<slf4j.version>2.0.6</slf4j.version>
6464

6565
<!-- Cucumber version -->
66-
<cucumber.version>7.11.1</cucumber.version>
67-
<gherkin.cucumber.version>26.0.3</gherkin.cucumber.version>
66+
<cucumber.version>7.11.2</cucumber.version>
67+
<gherkin.cucumber.version>26.1.0</gherkin.cucumber.version>
6868
<cucumber-reporting.version>5.7.5</cucumber-reporting.version>
6969

7070
<!--GSON-->

mrchecker-framework-modules/mrchecker-core-module/src/main/java/com/capgemini/mrchecker/test/core/TestExecutionObserver.java

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import java.util.Optional;
1111
import java.util.function.Consumer;
1212

13+
import static com.capgemini.mrchecker.test.core.utils.ExceptionUtils.sneakyThrow;
14+
1315
public class TestExecutionObserver implements ITestExecutionObserver {
1416
private TestExecutionObserver() {
1517
}
@@ -81,8 +83,7 @@ public void beforeTestExecution(ExtensionContext context) {
8183
try {
8284
validateTestClassAndCallHook(context, BaseTest::setUp);
8385
} catch (Throwable throwable) {
84-
handleExecutionExceptionAction(context, throwable, "setup", ITestObserver::onSetupFailure);
85-
throw throwable;
86+
handleExecutionException(context, throwable, "setup", ITestObserver::onSetupFailure);
8687
}
8788
}
8889

@@ -95,8 +96,7 @@ public void afterTestExecution(ExtensionContext context) {
9596
try {
9697
validateTestClassAndCallHook(context, BaseTest::tearDown);
9798
} catch (Throwable throwable) {
98-
handleExecutionExceptionAction(context, throwable, "teardown", ITestObserver::onTeardownFailure);
99-
throw throwable;
99+
handleExecutionException(context, throwable, "teardown", ITestObserver::onTeardownFailure);
100100
}
101101
}
102102

@@ -117,46 +117,44 @@ synchronized public void afterAll(ExtensionContext extensionContext) {
117117
}
118118

119119
//LifecycleMethodExecutionExceptionHandler
120-
private void handleExecutionExceptionAction(ExtensionContext context, Throwable throwable, String annotationName, Consumer<ITestObserver> action) {
120+
private void handleExecutionException(ExtensionContext context, Throwable throwable, String annotationName, Consumer<ITestObserver> action) {
121121
forEachObserver(action);
122+
if (context != null) {
122123
String className = context.getRequiredTestClass().getName();
123124
String testName = context.getDisplayName();
124125
BFLogger.logError("\"" + className + "#" + testName + "\"" + " - EXCEPTION in " + annotationName + ": " + throwable.getMessage());
125-
}
126-
127-
private void handleExecutionException(ExtensionContext context, Throwable throwable, String annotationName, Consumer<ITestObserver> action) throws Throwable {
128-
handleExecutionExceptionAction(context, throwable, annotationName, action);
129-
throw throwable;
126+
}
127+
sneakyThrow(throwable);
130128
}
131129

132130
@Override
133-
public void handleBeforeAllMethodExecutionException(ExtensionContext context, Throwable throwable) throws Throwable {
131+
public void handleBeforeAllMethodExecutionException(ExtensionContext context, Throwable throwable) {
134132
handleExecutionException(context, throwable, "@BeforeAll", ITestObserver::onBeforeAllException);
135133
}
136134

137135
@Override
138-
public void handleBeforeEachMethodExecutionException(ExtensionContext context, Throwable throwable) throws Throwable {
136+
public void handleBeforeEachMethodExecutionException(ExtensionContext context, Throwable throwable) {
139137
handleExecutionException(context, throwable, "@BeforeEach", ITestObserver::onBeforeEachException);
140138
}
141139

142140
@Override
143-
public void handleAfterEachMethodExecutionException(ExtensionContext context, Throwable throwable) throws Throwable {
141+
public void handleAfterEachMethodExecutionException(ExtensionContext context, Throwable throwable) {
144142
handleExecutionException(context, throwable, "@AfterEach", ITestObserver::onAfterEachException);
145143
}
146144

147145
@Override
148-
public void handleAfterAllMethodExecutionException(ExtensionContext context, Throwable throwable) throws Throwable {
146+
public void handleAfterAllMethodExecutionException(ExtensionContext context, Throwable throwable) {
149147
try {
150148
handleExecutionException(context, throwable, "@AfterAll", ITestObserver::onAfterAllException);
151149
} catch (Throwable e) {
152150
if (DONT_CONSUME_EXCEPTION_IN_AFTERALL)
153-
throw throwable;
151+
sneakyThrow(e);
154152
}
155153
}
156154

157155
//TestExecutionExceptionHandler
158156
@Override
159-
public void handleTestExecutionException(ExtensionContext context, Throwable throwable) throws Throwable {
157+
public void handleTestExecutionException(ExtensionContext context, Throwable throwable) {
160158
handleExecutionException(context, throwable, "@Test", ITestObserver::onTestExecutionException);
161159
}
162160

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.capgemini.mrchecker.test.core.base.driver;
2+
3+
public enum DriverCloseLevel {
4+
CLASS,
5+
TEST;
6+
7+
public static DriverCloseLevel fromText(String text) {
8+
for (DriverCloseLevel level : values()) {
9+
if (level.name().equalsIgnoreCase(text)) {
10+
return level;
11+
}
12+
}
13+
return CLASS;
14+
}
15+
}

mrchecker-framework-modules/mrchecker-core-module/src/main/java/com/capgemini/mrchecker/test/core/cucumber/BaseHook.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -53,24 +53,6 @@ private String getFeatureFileNameFromId(String id) {
5353
}
5454

5555
public void tearDown(Scenario scenario) {
56-
switch (scenario.getStatus()) {
57-
case SKIPPED:
58-
TestExecutionObserver.getInstance().testAborted(context, null);
59-
break;
60-
case PASSED:
61-
TestExecutionObserver.getInstance().testSuccessful(context);
62-
break;
63-
case FAILED:
64-
TestExecutionObserver.getInstance().testFailed(context, null);
65-
break;
66-
case UNUSED:
67-
case PENDING:
68-
case AMBIGUOUS:
69-
case UNDEFINED:
70-
default:
71-
TestExecutionObserver.getInstance().testDisabled(context, null);
72-
break;
73-
}
7456
TestExecutionObserver.getInstance().afterTestExecution(context);
7557
}
7658

mrchecker-framework-modules/mrchecker-core-module/src/main/java/com/capgemini/mrchecker/test/core/cucumber/EventListenerPlugin.java

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,43 @@
66
import io.cucumber.plugin.event.EventHandler;
77
import io.cucumber.plugin.event.EventPublisher;
88
import io.cucumber.plugin.event.TestCaseFinished;
9+
import io.cucumber.plugin.event.TestStepFinished;
10+
11+
import java.util.Optional;
912

1013
public class EventListenerPlugin implements ConcurrentEventListener {
1114
@Override
1215
public void setEventPublisher(EventPublisher eventPublisher) {
13-
eventPublisher.registerHandlerFor(TestCaseFinished.class, teardown);
16+
eventPublisher.registerHandlerFor(TestCaseFinished.class, testCaseFinished);
17+
eventPublisher.registerHandlerFor(TestStepFinished.class, testStepFinished);
1418
}
1519

16-
private final EventHandler<TestCaseFinished> teardown = event -> {
20+
private final EventHandler<TestCaseFinished> testCaseFinished = event -> {
21+
switch (event.getResult().getStatus()) {
22+
case SKIPPED:
23+
TestExecutionObserver.getInstance().testAborted(null, event.getResult().getError());
24+
break;
25+
case PASSED:
26+
TestExecutionObserver.getInstance().testSuccessful(null);
27+
break;
28+
case FAILED:
29+
TestExecutionObserver.getInstance().testFailed(null, event.getResult().getError());
30+
break;
31+
case UNUSED:
32+
case PENDING:
33+
case AMBIGUOUS:
34+
case UNDEFINED:
35+
default:
36+
String reason = event.getResult().getStatus().name();
37+
TestExecutionObserver.getInstance().testDisabled(null, Optional.of(reason));
38+
break;
39+
}
1740
TestExecutionObserver.getInstance().afterAll(null);
1841
};
42+
43+
private final EventHandler<TestStepFinished> testStepFinished = event -> {
44+
if (event.getResult().getError() != null) {
45+
TestExecutionObserver.getInstance().handleTestExecutionException(null, event.getResult().getError());
46+
}
47+
};
1948
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.capgemini.mrchecker.test.core.utils;
2+
3+
public class ExceptionUtils {
4+
private ExceptionUtils() {
5+
}
6+
7+
//SneakyThrow
8+
public static <Ex extends Throwable, R> R sneakyThrow(Throwable t) throws Ex {
9+
throw (Ex) t;
10+
}
11+
}

mrchecker-framework-modules/mrchecker-database-module/pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<parent>
77
<artifactId>mrchecker-test-framework</artifactId>
88
<groupId>com.capgemini.mrchecker</groupId>
9-
<version>2023.03.28</version>
9+
<version>2023.04.03</version>
1010
</parent>
1111

1212
<artifactId>mrchecker-database-module</artifactId>
13-
<version>2023.03.28</version>
13+
<version>2023.04.03</version>
1414
<packaging>jar</packaging>
1515
<name>MrChecker - Database - Module</name>
1616
<description>MrChecker Database Module:
@@ -80,7 +80,7 @@
8080
<dependency>
8181
<groupId>${project.groupId}</groupId>
8282
<artifactId>mrchecker-core-module</artifactId>
83-
<version>2023.03.28</version>
83+
<version>2023.04.03</version>
8484
</dependency>
8585

8686
<!-- JPA dependencies -->

mrchecker-framework-modules/mrchecker-mobile-module/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
<parent>
88
<artifactId>mrchecker-test-framework</artifactId>
99
<groupId>com.capgemini.mrchecker</groupId>
10-
<version>2023.03.28</version>
10+
<version>2023.04.03</version>
1111
</parent>
1212

1313
<artifactId>mrchecker-mobile-module</artifactId>
14-
<version>2023.03.28</version>
14+
<version>2023.04.03</version>
1515
<packaging>jar</packaging>
1616
<name>MrChecker - Mobile - Module</name>
1717
<description>MrChecker Test Framework name supports:
@@ -52,12 +52,12 @@
5252
<dependency>
5353
<groupId>${project.groupId}</groupId>
5454
<artifactId>mrchecker-core-module</artifactId>
55-
<version>2023.03.28</version>
55+
<version>2023.04.03</version>
5656
</dependency>
5757
<dependency>
5858
<groupId>${project.groupId}</groupId>
5959
<artifactId>mrchecker-selenium-module</artifactId>
60-
<version>2023.03.28</version>
60+
<version>2023.04.03</version>
6161
</dependency>
6262

6363
<!--This dependency is necessary for Appium plugin. -->

mrchecker-framework-modules/mrchecker-playwright-module/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
<parent>
88
<artifactId>mrchecker-test-framework</artifactId>
99
<groupId>com.capgemini.mrchecker</groupId>
10-
<version>2023.03.28</version>
10+
<version>2023.04.03</version>
1111
</parent>
1212

1313
<artifactId>mrchecker-playwright-module</artifactId>
14-
<version>2023.03.28</version>
14+
<version>2023.04.03</version>
1515
<packaging>jar</packaging>
1616
<name>MrChecker - Playwright - Module</name>
1717
<description>MrChecker Test Framework Playwright</description>
@@ -48,7 +48,7 @@
4848
<project.build.sourceEncoding>UTF8</project.build.sourceEncoding>
4949

5050
<!-- PLAYWRIGHT -->
51-
<playwright.verion>1.31.0</playwright.verion>
51+
<playwright.verion>1.32.0</playwright.verion>
5252

5353
<!-- Guava is a set of core libraries -->
5454
<google.guava.version>31.1-jre</google.guava.version>
@@ -68,7 +68,7 @@
6868
<dependency>
6969
<groupId>${project.groupId}</groupId>
7070
<artifactId>mrchecker-core-module</artifactId>
71-
<version>2023.03.28</version>
71+
<version>2023.04.03</version>
7272
</dependency>
7373

7474
<!--This dependency is necessary for Playwright plugin. -->

0 commit comments

Comments
 (0)