Skip to content

Commit 3b9cfe1

Browse files
chore(Internal): 🔖 new release candidate (#420)
Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 51d2f89 commit 3b9cfe1

File tree

141 files changed

+5394
-1385
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+5394
-1385
lines changed

.github/workflows/release.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@ jobs:
158158
name: version-files
159159
path: |
160160
${{ github.workspace }}/core-java/pom.xml
161+
${{ github.workspace }}/CHANGELOG.md
162+
${{ github.workspace }}/lerna.json
163+
${{ github.workspace }}/website/package.json
161164
162165
push-pom:
163166
runs-on: ubuntu-latest
@@ -176,10 +179,14 @@ jobs:
176179
with:
177180
name: version-files
178181

182+
- name: Get previous version
183+
id: previous-version
184+
run: echo "old-version=$(node -p "require('./package.json').version" )" >> "$GITHUB_OUTPUT"
185+
179186
- name: Update new version
180187
uses: jacobtomlinson/gha-find-replace@v3
181188
with:
182-
find: ${{ needs.prepare-release.outputs.old-version }}
189+
find: ${{ steps.previous-version.outputs.old-version }}
183190
replace: ${{ needs.prepare-release.outputs.new-version }}
184191
regex: false
185192
include: |

.github/workflows/test-core.yml

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,12 @@ jobs:
2828
uses: actions/setup-java@v3
2929
with:
3030
java-version: '11'
31-
distribution: 'adopt'
31+
distribution: 'temurin'
32+
cache: 'maven'
33+
check-latest: true
3234

3335
- name: Build the project
34-
run: mvn install -f core-java/pom.xml -DskipTests
35-
36-
- name: Upload target folder
37-
uses: actions/upload-artifact@v3
38-
with:
39-
name: target
40-
path: ${{ github.workspace }}/core-java/target
36+
run: mvn clean install -f core-java/pom.xml -DskipTests
4137

4238
- name: Cache local Maven repository
4339
uses: actions/cache@v3
@@ -64,19 +60,9 @@ jobs:
6460
uses: actions/setup-java@v3
6561
with:
6662
java-version: '11'
67-
distribution: 'adopt'
68-
69-
- name: Restore local Maven repository
70-
uses: actions/cache@v3
71-
with:
72-
path: ~/.m2/repository
73-
key: ${{ runner.os }}-maven-${{ github.sha }}
74-
75-
- name: Download target folder
76-
uses: actions/download-artifact@v3
77-
with:
78-
name: target
79-
path: ${{ github.workspace }}/core-java
63+
distribution: 'temurin'
64+
cache: 'maven'
65+
check-latest: true
8066

8167
- name: Install Appium 2.0
8268
run: |
@@ -85,7 +71,7 @@ jobs:
8571
appium driver install xcuitest
8672
8773
- name: Start Selenium Grid
88-
run: java -jar core-java/libs/selenium-server-4.8.0.jar standalone > core-java/selenium-grid.log &
74+
run: java -jar core-java/libs/selenium-server-4.9.0.jar standalone > core-java/selenium-grid.log &
8975

9076
- name: Launch iOS Simulator
9177
uses: futureware-tech/simulator-action@v2
@@ -106,7 +92,7 @@ jobs:
10692
force-avd-creation: false
10793
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
10894
disable-animations: false
109-
script: mvn org.jacoco:jacoco-maven-plugin:prepare-agent install -f core-java/pom.xml -Pcoverage-per-test
95+
script: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -f core-java/pom.xml -Pcoverage-per-test
11096

11197
- name: Test Report
11298
if: failure()
@@ -144,13 +130,9 @@ jobs:
144130
uses: actions/setup-java@v3
145131
with:
146132
java-version: '11'
147-
distribution: 'adopt'
148-
149-
- name: Restore local Maven repository
150-
uses: actions/cache@v3
151-
with:
152-
path: ~/.m2/repository
153-
key: ${{ runner.os }}-maven-${{ github.sha }}
133+
distribution: 'temurin'
134+
cache: 'maven'
135+
check-latest: true
154136

155137
- name: Download reports folder
156138
uses: actions/download-artifact@v3

.github/workflows/test-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
echo "version=$MVN_VERSION" >> $GITHUB_OUTPUT
4646
4747
- name: Start Selenium Grid
48-
run: java -jar core-java/libs/selenium-server-4.8.0.jar standalone > sample-tests/selenium-grid.log &
48+
run: java -jar core-java/libs/selenium-server-4.9.0.jar standalone > sample-tests/selenium-grid.log &
4949

5050
- name: All Test execution
5151
run: mvn clean test -f sample-tests/pom.xml -Dboyka.version=${{ steps.version.outputs.version }}

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
## v0.14.0-rc.0 (2023-03-19)
2+
## v0.14.0 (2023-03-19)
33

44
#### :rocket: New Feature
55
* [#411](https://github.com/BoykaFramework/boyka-framework/pull/411) feat(java): :sparkles: added hybrid app support ([@WasiqB](https://github.com/WasiqB))

README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
<a href="https://mvnrepository.com/artifact/com.github.wasiqb.boyka/boyka-framework">
2929
<img src="https://img.shields.io/maven-central/v/com.github.wasiqb.boyka/boyka-framework.svg?style=for-the-badge" alt="Maven Central" />
3030
</a>
31-
<a href="https://github.com/BoykaFramework/boyka-framework/releases/tag/v0.13.0">
32-
<img src="https://img.shields.io/github/downloads/BoykaFramework/boyka-framework/v0.13.0/total?color=brightgreen&label=Downloads%20for%20v0.13.0&logo=GitHub&style=for-the-badge" alt="GitHub releases" />
31+
<a href="https://github.com/BoykaFramework/boyka-framework/releases/tag/v0.14.0">
32+
<img src="https://img.shields.io/github/downloads/BoykaFramework/boyka-framework/v0.14.0/total?color=brightgreen&label=Downloads%20for%20v0.14.0&logo=GitHub&style=for-the-badge" alt="GitHub releases" />
3333
</a>
3434
<a href="https://github.com/BoykaFramework/boyka-framework/blob/master/LICENSE">
3535
<img src="https://img.shields.io/github/license/BoykaFramework/boyka-framework.svg?style=for-the-badge" alt="license" />
@@ -64,10 +64,12 @@ This all gave me an idea of having a single framework which could solve all the
6464
- ✅ Supports Web browser automation with support for Chrome, Edge, Firefox and Safari.
6565
- ✅ Supports Android native apps automation
6666
- ✅ Supports iOS native apps automation
67+
- ✅ Allow Multi-user Multi-platform session interactions
6768
- ✅ Supports execution of Web tests on cloud platforms like BrowserStack and LambdaTest.
6869
- ✅ Highly configurable via `boyka-config.json`
6970
- ✅ Micro logging to log events of the test execution
7071
- ✅ Supports taking screenshots
72+
- ✅ Highly extensible via listeners
7173

7274
## ⏱️ Coming soon
7375

@@ -86,7 +88,7 @@ Use this space to tell a little more about your project and how it can be used.
8688
<dependency>
8789
<groupId>com.github.wasiqb.boyka</groupId>
8890
<artifactId>boyka-framework</artifactId>
89-
<version>0.13.0</version>
91+
<version>0.14.0</version>
9092
</dependency>
9193
```
9294

@@ -99,6 +101,7 @@ This is the configuration file for Boyka Framework named `boyka-config.json` sto
99101

100102
```json
101103
{
104+
"listeners_package": "com.github.wasiqb.boyka.testng.listeners",
102105
"ui": {
103106
"timeout": {
104107
"implicit_wait": 10,
@@ -419,16 +422,21 @@ Here's how you can execute the API test and also verify its response.
419422

420423
```java
421424
import static com.github.wasiqb.boyka.actions.api.ApiActions.withRequest;
425+
import static com.github.wasiqb.boyka.enums.PlatformType.API;
426+
import static com.github.wasiqb.boyka.manager.ParallelSession.createSession;
427+
import static com.github.wasiqb.boyka.manager.ParallelSession.clearSession;
422428
. . .
423429
// Create request body object
424430
final User user = User.createUser ()
425431
.name ("Wasiq")
426432
.job ("Software Engineer")
427433
.create ();
428434

435+
// Create API session.
436+
createSession (API, "test_postman");
437+
429438
// Compose request
430439
final ApiRequest request = ApiRequest.createRequest ()
431-
.configKey (API_CONFIG_KEY)
432440
.method (POST)
433441
.path ("/users")
434442
.bodyObject (user)
@@ -453,6 +461,9 @@ response.verifyTextField ("job")
453461
.isEqualTo (user.getJob ());
454462
response.verifyTextField ("createdAt")
455463
.isNotNull ();
464+
465+
// Clear API session.
466+
clearSession ();
456467
```
457468

458469
</details>
@@ -516,7 +527,7 @@ import static com.github.wasiqb.boyka.actions.elements.ElementActions.onElement;
516527
import static com.github.wasiqb.boyka.actions.elements.FingerActions.withFinger;
517528
import static com.github.wasiqb.boyka.actions.elements.TextBoxActions.onTextBox;
518529
import static com.github.wasiqb.boyka.enums.PlatformType.WEB;
519-
import static com.github.wasiqb.boyka.sessions.ParallelSession.getSession;
530+
import static com.github.wasiqb.boyka.manager.ParallelSession.getSession;
520531
import static com.github.wasiqb.boyka.testng.ui.saucedemo.pages.LoginPage.loginPage;
521532
import static java.text.MessageFormat.format;
522533

@@ -569,9 +580,9 @@ package com.github.wasiqb.boyka.testng.ui.saucedemo;
569580

570581
import static com.github.wasiqb.boyka.actions.drivers.DriverActions.withDriver;
571582
import static com.github.wasiqb.boyka.actions.drivers.WindowActions.onWindow;
572-
import static com.github.wasiqb.boyka.manager.DriverManager.closeDriver;
573-
import static com.github.wasiqb.boyka.manager.DriverManager.createDriver;
574-
import static com.github.wasiqb.boyka.sessions.ParallelSession.getSession;
583+
import static com.github.wasiqb.boyka.manager.ParallelSession.clearSession;
584+
import static com.github.wasiqb.boyka.manager.ParallelSession.createSession;
585+
import static com.github.wasiqb.boyka.manager.ParallelSession.getSession;
575586
import static com.google.common.truth.Truth.assertThat;
576587

577588
import com.github.wasiqb.boyka.enums.PlatformType;
@@ -593,14 +604,14 @@ public class SauceDemoTest {
593604
@BeforeClass (description = "Setup test class", alwaysRun = true)
594605
@Parameters ({ "platformType", "driverKey" })
595606
public void setupTestClass (final PlatformType platformType, final String driverKey) {
596-
createDriver (platformType, driverKey);
607+
createSession ("Unique User Persona", platformType, driverKey);
597608
this.sauceDemo = new SauceDemoActions ();
598609
}
599610

600611
@AfterClass (description = "Tear down test class", alwaysRun = true)
601612
public void tearDownTestClass () {
602613
withDriver ().saveLogs ();
603-
closeDriver ();
614+
clearSession ();
604615
}
605616

606617
@Test (description = "Test login functionality")
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<component name="InspectionProjectProfileManager">
2+
<profile version="1.0">
3+
<option name="myName" value="Boyka Inspections" />
4+
<inspection_tool class="LocalCanBeFinal" enabled="true" level="WARNING" enabled_by_default="true">
5+
<option name="REPORT_VARIABLES" value="true" />
6+
<option name="REPORT_PARAMETERS" value="true" />
7+
</inspection_tool>
8+
<inspection_tool class="NonFinalUtilityClass" enabled="true" level="WARNING" enabled_by_default="true" />
9+
<inspection_tool class="UnqualifiedFieldAccess" enabled="true" level="WARNING" enabled_by_default="true" />
10+
</profile>
11+
</component>

core-java/pom.xml

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<modelVersion>4.0.0</modelVersion>
2222
<groupId>com.github.wasiqb.boyka</groupId>
2323
<artifactId>boyka-framework</artifactId>
24-
<version>0.13.0</version>
24+
<version>0.14.0</version>
2525
<inceptionYear>2022</inceptionYear>
2626
<name>${project.groupId}:${project.artifactId}</name>
2727
<description>🎉 Ultimate test automation for testing any application on any platform</description>
@@ -38,25 +38,27 @@
3838
<google.guava.version>31.1-jre</google.guava.version>
3939
<google-truth.version>1.1.3</google-truth.version>
4040
<apache-commons-text.version>1.10.0</apache-commons-text.version>
41-
<json-path.version>2.7.0</json-path.version>
41+
<json-path.version>2.8.0</json-path.version>
4242
<log4j-core.version>2.20.0</log4j-core.version>
4343
<log4j-api.version>2.20.0</log4j-api.version>
44-
<faker.version>1.8.0</faker.version>
45-
<jackson-dataformat-yaml.version>2.14.2</jackson-dataformat-yaml.version>
46-
<jackson-databind.version>2.14.2</jackson-databind.version>
44+
<faker.version>1.9.0</faker.version>
45+
<jackson-dataformat-yaml.version>2.15.0</jackson-dataformat-yaml.version>
46+
<jackson-databind.version>2.15.0</jackson-databind.version>
4747
<ok2curl.version>0.8.0</ok2curl.version>
4848
<everit-json-schema.version>1.5.1</everit-json-schema.version>
4949
<maven-clean-plugin.version>3.2.0</maven-clean-plugin.version>
5050
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
5151
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
52-
<maven-resources-plugin.version>3.3.0</maven-resources-plugin.version>
52+
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
5353
<maven-dependency-plugin.version>3.5.0</maven-dependency-plugin.version>
5454
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
5555
<maven-checkstyle-plugin.version>3.2.1</maven-checkstyle-plugin.version>
5656
<codestyle.version>1.1.0</codestyle.version>
57-
<checkstyle.version>10.8.0</checkstyle.version>
57+
<checkstyle.version>10.10.0</checkstyle.version>
58+
<aspectj.version>1.9.19</aspectj.version>
5859
<suite-xml>test-suites/testng.xml</suite-xml>
5960
<argLine>-Dfile.encoding=UTF-8 -Xdebug -Xnoagent</argLine>
61+
<allureArgs>-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"</allureArgs>
6062
<sonar.organization>boykaframework</sonar.organization>
6163
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
6264
<sonar.projectKey>boyka-framework</sonar.projectKey>
@@ -69,10 +71,11 @@
6971
<sonar.version>5.14.0.18788</sonar.version>
7072
<sonar.maven.version>3.9.1.2184</sonar.maven.version>
7173
<jacoco.version>0.8.8</jacoco.version>
72-
<surefire-version>3.0.0-M9</surefire-version>
74+
<surefire-version>3.0.0</surefire-version>
7375
<nexus.version>1.6.13</nexus.version>
7476
<maven.gpg.version>3.0.1</maven.gpg.version>
7577
<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
78+
<maven-file.version>3.1.0</maven-file.version>
7679
</properties>
7780

7881
<distributionManagement>
@@ -210,7 +213,8 @@
210213
<artifactId>log4j-api</artifactId>
211214
<version>${log4j-api.version}</version>
212215
</dependency>
213-
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
216+
<!--
217+
https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml -->
214218
<dependency>
215219
<groupId>com.fasterxml.jackson.dataformat</groupId>
216220
<artifactId>jackson-dataformat-yaml</artifactId>
@@ -241,6 +245,20 @@
241245
<version>${faker.version}</version>
242246
<scope>test</scope>
243247
</dependency>
248+
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-testng -->
249+
<dependency>
250+
<groupId>io.qameta.allure</groupId>
251+
<artifactId>allure-testng</artifactId>
252+
<version>2.21.0</version>
253+
<scope>test</scope>
254+
</dependency>
255+
<!-- https://mvnrepository.com/artifact/org.apache.maven.shared/file-management -->
256+
<dependency>
257+
<groupId>org.apache.maven.shared</groupId>
258+
<artifactId>file-management</artifactId>
259+
<version>${maven-file.version}</version>
260+
<scope>provided</scope>
261+
</dependency>
244262
</dependencies>
245263

246264
<build>
@@ -368,11 +386,21 @@
368386
<value>false</value>
369387
</property>
370388
</properties>
389+
<systemPropertyVariables>
390+
<allure.results.directory>target/allure-results</allure.results.directory>
391+
</systemPropertyVariables>
371392
<suiteXmlFiles>
372393
<suiteXmlFile>${suite-xml}</suiteXmlFile>
373394
</suiteXmlFiles>
374-
<argLine>${argLine}</argLine>
395+
<argLine>${argLine} ${allureArgs}</argLine>
375396
</configuration>
397+
<dependencies>
398+
<dependency>
399+
<groupId>org.aspectj</groupId>
400+
<artifactId>aspectjweaver</artifactId>
401+
<version>${aspectj.version}</version>
402+
</dependency>
403+
</dependencies>
376404
</plugin>
377405
<plugin>
378406
<groupId>org.sonarsource.scanner.maven</groupId>
@@ -462,7 +490,7 @@
462490
<limit>
463491
<counter>LINE</counter>
464492
<value>COVEREDRATIO</value>
465-
<minimum>0.7</minimum>
493+
<minimum>0.0</minimum>
466494
</limit>
467495
</limits>
468496
</rule>
@@ -486,8 +514,18 @@
486514
<suiteXmlFiles>
487515
<suiteXmlFile>${suite-xml}</suiteXmlFile>
488516
</suiteXmlFiles>
489-
<argLine>${argLine} ${surefireArgLine}</argLine>
517+
<systemPropertyVariables>
518+
<allure.results.directory>target/allure-results</allure.results.directory>
519+
</systemPropertyVariables>
520+
<argLine>${argLine} ${allureArgs} ${surefireArgLine}</argLine>
490521
</configuration>
522+
<dependencies>
523+
<dependency>
524+
<groupId>org.aspectj</groupId>
525+
<artifactId>aspectjweaver</artifactId>
526+
<version>${aspectj.version}</version>
527+
</dependency>
528+
</dependencies>
491529
</plugin>
492530
</plugins>
493531
</build>

core-java/src/main/java/com/github/wasiqb/boyka/actions/CommonActions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import static com.github.wasiqb.boyka.enums.PlatformType.WEB;
2323
import static com.github.wasiqb.boyka.enums.WaitStrategy.CLICKABLE;
2424
import static com.github.wasiqb.boyka.enums.WaitStrategy.VISIBLE;
25-
import static com.github.wasiqb.boyka.sessions.ParallelSession.getSession;
25+
import static com.github.wasiqb.boyka.manager.ParallelSession.getSession;
2626
import static com.github.wasiqb.boyka.utils.ErrorHandler.handleAndThrow;
2727
import static java.text.MessageFormat.format;
2828
import static java.time.Duration.ofMillis;

0 commit comments

Comments
 (0)