Skip to content

Commit e85a9a9

Browse files
authored
Update plugins and dependencies to latest compatible versions (#27)
* Update plugins and dependencies to latest compatible versions - Update license year - Update appium installation scripts - Update settings and pipeline to use appium3 - Update android emulator and ios simulator versions - use macOS-14 in azure pipelines and in github actions * - fix Android SDK configuration steps - set proper iOS simulator OS version - use Java 17 in GH actions for android sdkmanager * - setup sonarqube project - use macos-14-large image in GH actions - fix review issues and assess sonarqube issues * - use macos-12 image and java 11 in GH actions - reorder/reworked steps for Android and iOS configurations in ADO * - use macos-14 image and java 17 in GH actions, arm64-v8a arch for android emulator - add more logging to ios sim setup id ADO * - use macos-14 image and java 11 in GH actions, linux-latest image for android emulator - use ios 17.0 simulator in ADO, add emulator start args -no-snapshot-save -no-window -camera-back none * - use java 17 in GH actions for android emulator * - use ios 17.0 in GH actions * - use XCODE v 15.0.1 in Azure pipeline for iOS * - Create a fresh simulator in Azure pipeline for iOS * - Erase then boot simulator in Azure pipeline for iOS * - Fail fast if the simulator UID isn't resolved and ensure a blocking wait. - Cache key should include all AVD configuration parameters. * - Create a fresh simulator in Azure pipeline for iOS * - fix SIM_UID after creation * - fix IOS_VERSION_TYPE * - fix IOS_VERSION_TYPE * - revert to erasing device then boot ${IOS_SIM_ID} simulator" - Resetting CoreSimulator services and retry
1 parent 876420d commit e85a9a9

File tree

9 files changed

+194
-79
lines changed

9 files changed

+194
-79
lines changed

.github/workflows/test-with-allure-report.yml

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,47 @@ jobs:
3535

3636
concurrency: test-android-${{ github.event.inputs.environment == '' && 'stage' || github.event.inputs.environment }}
3737
name: Run tests against Android
38-
runs-on: macos-12
38+
runs-on: ubuntu-latest
3939
outputs:
4040
maven_tests: ${{ steps.maven_tests.outcome }}
4141
steps:
42-
- uses: actions/checkout@v3
42+
- uses: actions/checkout@v4
4343

44-
- name: Set up JDK 11
45-
uses: actions/setup-java@v3
44+
- name: Set up JDK 17
45+
uses: actions/setup-java@v4
4646
with:
47-
java-version: '11'
47+
java-version: '17'
4848
distribution: 'adopt'
4949
cache: maven
5050

51+
- name: Enable KVM
52+
run: |
53+
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
54+
sudo udevadm control --reload-rules
55+
sudo udevadm trigger --name-match=kvm
56+
57+
- name: AVD cache
58+
uses: actions/cache@v4
59+
id: avd-cache
60+
with:
61+
path: |
62+
~/.android/avd/*
63+
~/.android/adb*
64+
key: avd-${{ env.ANDROID_API_LEVEL }}-${{ env.ANDROID_TARGET }}-${{ env.ANDROID_ARCH }}-${{ env.ANDROID_PROFILE }}
65+
66+
- name: create AVD and generate snapshot for caching
67+
if: steps.avd-cache.outputs.cache-hit != 'true'
68+
uses: reactivecircus/android-emulator-runner@v2
69+
with:
70+
api-level: ${{ env.ANDROID_API_LEVEL }}
71+
target: ${{ env.ANDROID_TARGET }}
72+
arch: ${{ env.ANDROID_ARCH }}
73+
profile: ${{ env.ANDROID_PROFILE }}
74+
force-avd-creation: false
75+
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
76+
disable-animations: false
77+
script: echo "Generated AVD snapshot for caching."
78+
5179
- name: Install and Run Appium Server
5280
run: |
5381
chmod +x ./scripts/PrepareAppiumServerForAndroid.sh
@@ -61,6 +89,9 @@ jobs:
6189
target: ${{ env.ANDROID_TARGET }}
6290
arch: ${{ env.ANDROID_ARCH }}
6391
profile: ${{ env.ANDROID_PROFILE }}
92+
force-avd-creation: false
93+
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
94+
disable-animations: true
6495
script: mvn test -DisRemote=true -DplatformName=android
6596

6697
- name: Copy TestNG allure result to the Cucumber allure result
@@ -80,18 +111,19 @@ jobs:
80111
TESTNG_ALLURE_RESULTS: aquality-appium-mobile-template-testng/target/allure-results
81112
SUBPROJECT_NAME: aquality-appium-mobile-template-cucumber
82113
ENVIRONMENT: ${{ github.event.inputs.environment == '' && 'stage' || github.event.inputs.environment }}
83-
IOS_SIM_MODEL: iPhone 8
114+
IOS_SIM_MODEL: iPhone SE (3rd generation)
115+
IOS_SIM_OS_VERSION: '17.0'
84116

85117
concurrency: test-ios-${{ github.event.inputs.environment == '' && 'stage' || github.event.inputs.environment }}
86118
name: Run tests against iOS
87-
runs-on: macos-12
119+
runs-on: macos-14
88120
outputs:
89121
maven_tests: ${{ steps.maven_tests.outcome }}
90122
steps:
91-
- uses: actions/checkout@v3
123+
- uses: actions/checkout@v4
92124

93125
- name: Set up JDK 11
94-
uses: actions/setup-java@v3
126+
uses: actions/setup-java@v4
95127
with:
96128
java-version: '11'
97129
distribution: 'adopt'
@@ -107,6 +139,7 @@ jobs:
107139
uses: futureware-tech/simulator-action@v2
108140
with:
109141
model: ${{ env.IOS_SIM_MODEL }}
142+
os_version: ${{ env.IOS_SIM_OS_VERSION }}
110143

111144
- name: Wait for simulator to be ready
112145
run: |
@@ -138,7 +171,7 @@ jobs:
138171
GH_PAGES_URL: https://aquality-automation.github.io/aquality-appium-mobile-java-template
139172
steps:
140173
- name: Get Allure history
141-
uses: actions/checkout@v3
174+
uses: actions/checkout@v4
142175
if: always()
143176
continue-on-error: true
144177
with:

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright 2024 Aquality Automation
189+
Copyright 2026 Aquality Automation
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

aquality-appium-mobile-template-testng/pom.xml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,8 @@
2727
<dependency>
2828
<groupId>org.testng</groupId>
2929
<artifactId>testng</artifactId>
30-
<version>7.9.0</version>
30+
<version>7.12.0</version>
3131
<scope>test</scope>
32-
<exclusions>
33-
<exclusion>
34-
<groupId>org.slf4j</groupId>
35-
<artifactId>slf4j-api</artifactId>
36-
</exclusion>
37-
</exclusions>
3832
</dependency>
3933
<dependency>
4034
<groupId>io.qameta.allure</groupId>
@@ -45,13 +39,13 @@
4539
<dependency>
4640
<groupId>org.assertj</groupId>
4741
<artifactId>assertj-core</artifactId>
48-
<version>3.25.3</version>
42+
<version>3.27.7</version>
4943
<scope>test</scope>
5044
</dependency>
5145
<dependency>
5246
<groupId>org.slf4j</groupId>
5347
<artifactId>slf4j-simple</artifactId>
54-
<version>2.0.10</version>
48+
<version>2.0.17</version>
5549
<scope>test</scope>
5650
</dependency>
5751
</dependencies>

aquality-appium-mobile-template/src/main/resources/devices.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"iOS_Simulator": {
33
"capabilities": {
4-
"deviceName": "iPhone 8",
5-
"platformVersion": "16.2"
4+
"deviceName": "iPhone SE (3rd generation)",
5+
"platformVersion": "17.0"
66
}
77
},
88
"Android_Emulator": {

aquality-appium-mobile-template/src/main/resources/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
},
3737
"localServiceSettings": {
3838
"arguments": {
39-
"--allow-insecure": "chromedriver_autodownload"
39+
"--allow-insecure": "uiautomator2:chromedriver_autodownload"
4040
},
4141
"capabilities": {
4242
}

0 commit comments

Comments
 (0)