Skip to content

Commit 2227ade

Browse files
authored
Merge branch 'main' into main
2 parents 3db6536 + 6790281 commit 2227ade

File tree

11 files changed

+139
-152
lines changed

11 files changed

+139
-152
lines changed

.circleci/config.yml

Lines changed: 0 additions & 135 deletions
This file was deleted.

.github/workflows/main.yml renamed to .github/workflows/appium3._android.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
name: Appium Flutter Integration Driver with Appium 3
2+
13
on:
2-
pull_request:
4+
pull_request:
5+
6+
env:
7+
CI: true
38

4-
name: Appium Flutter Integration Driver
59
jobs:
610
Android_E2E_WDIO:
711
runs-on: ubuntu-latest
@@ -22,18 +26,15 @@ jobs:
2226

2327
- name: 'List files'
2428
run: |
25-
release_info=$(curl -s https://api.github.com/repos/AppiumTestDistribution/appium-flutter-server/releases/latest)
26-
asset_urls=$(echo "$release_info" | grep "browser_download_url" | cut -d '"' -f 4)
27-
android_app=$(echo "$asset_urls" | head -n 1)
29+
version=$(grep 'appium_flutter_server:' README.md | awk '{print $2}')
30+
android_app="https://github.com/AppiumTestDistribution/appium-flutter-server/releases/download/$version/app-debug.apk"
2831
echo "$android_app"
29-
ios_app=$(echo "$asset_urls" | tail -n 1)
30-
echo "$ios_app"
3132
curl -LO $android_app
3233
ls ${{ github.workspace }}
3334
echo "APP_PATH=${{ github.workspace }}/app-debug.apk" >> $GITHUB_ENV
3435
- uses: actions/setup-node@v4
3536
with:
36-
node-version: 20
37+
node-version: 22
3738
- name: Enable KVM group perms
3839
run: |
3940
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
@@ -49,7 +50,7 @@ jobs:
4950
npm run build
5051
- name: Install Drivers
5152
run: |
52-
npm install -g appium@2.19.0
53+
npm install -g appium
5354
appium driver list
5455
- name: run tests
5556
uses: reactivecircus/android-emulator-runner@v2

.github/workflows/appium3_ios.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: iOS WDIO Tests with Appium 3
2+
3+
on:
4+
pull_request:
5+
6+
env:
7+
CI: true
8+
SHOW_XCODE_LOG: true
9+
PREBUILT_WDA_PATH: ${{ github.workspace }}/wda/WebDriverAgentRunner-Runner.app
10+
11+
jobs:
12+
wdio_ios:
13+
runs-on: macos-26
14+
name: WDIO iOS (Xcode 16.4)
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Install Node.js 22.x
19+
uses: actions/setup-node@v3
20+
with:
21+
node-version: '22.x'
22+
23+
- name: Select Xcode 16.4
24+
uses: maxim-lobanov/setup-xcode@v1
25+
with:
26+
xcode-version: '16.4'
27+
28+
- name: List Installed Simulators
29+
run: xcrun simctl list devices available
30+
- name: Install jq
31+
run: brew install jq
32+
33+
- run: |
34+
version=$(grep 'appium_flutter_server:' README.md | awk '{print $2}')
35+
ios_app="https://github.com/AppiumTestDistribution/appium-flutter-server/releases/download/$version/ios.zip"
36+
echo "Downloading from: $ios_app"
37+
curl -LO "$ios_app"
38+
echo "APP_PATH=$(pwd)/ios.zip" >> $GITHUB_ENV
39+
name: Download sample iOS app
40+
41+
- name: Start iOS Simulator UI
42+
run: open -Fn "$(xcode-select --print-path)/Applications/Simulator.app"
43+
44+
- name: Boot simulator
45+
id: prepareSimulator
46+
uses: futureware-tech/simulator-action@v4
47+
with:
48+
model: 'iPhone 16'
49+
os_version: '18.5'
50+
shutdown_after_job: false
51+
wait_for_boot: true
52+
53+
- run: |
54+
target_sim_id=$(xcrun simctl list devices available | grep -A 10 "Booted" | cut -d "(" -f2 | cut -d ")" -f1 | head -n 1)
55+
echo "Target sim id: $target_sim_id"
56+
echo "udid=$target_sim_id" >> $GITHUB_ENV
57+
58+
- run: |
59+
npm install -g appium
60+
npm install --no-package-lock
61+
npm run build-flutter-by-service
62+
npm run build
63+
name: Install Appium and deps
64+
65+
- run: |
66+
appium driver list
67+
appium driver doctor xcuitest
68+
appium driver run xcuitest download-wda-sim --platform=ios --outdir=$(dirname "$PREBUILT_WDA_PATH")
69+
echo "WDA path: $PREBUILT_WDA_PATH"
70+
echo "WDA_PATH=$PREBUILT_WDA_PATH" >> $GITHUB_ENV
71+
name: Build WDA with XCUITest driver
72+
73+
- run: |
74+
echo "UDID: $udid"
75+
echo "WDA path: $PREBUILT_WDA_PATH"
76+
xcrun simctl install $udid $PREBUILT_WDA_PATH
77+
xcrun simctl launch $udid "com.facebook.WebDriverAgentRunner.xctrunner"
78+
name: Install and launch WDA on Simulator
79+
80+
- run: |
81+
mkdir -p appium-logs
82+
UDID=$udid APP_PATH=$APP_PATH npm run wdio-ios | tee appium-logs/logs.txt
83+
name: Run WDIO iOS
84+
85+
86+
- name: Upload logs
87+
if: ${{ always() }}
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: appium-logs
91+
path: appium-logs

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
- uses: actions/checkout@v2
1111
- uses: actions/setup-node@v4
1212
with:
13-
node-version: 20
13+
node-version: 22
1414
- run: npm install --no-package-lock
1515
name: Install dependencies
1616
- run: npm run build

CHANGELOG.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
## [2.0.0](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/compare/v1.5.1...v2.0.0) (2025-09-19)
2+
3+
### ⚠ BREAKING CHANGES
4+
5+
* - Following changes are added
6+
- Updated all dependencies to point to appium3
7+
- This version will work only with appium 3 and above
8+
9+
### Features
10+
11+
* support for appium3 ([#146](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/issues/146)) ([c2fcab9](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/commit/c2fcab9ee83c5d463de75bf089b75b9530d04bfc))
12+
13+
## [1.5.1](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/compare/v1.5.0...v1.5.1) (2025-09-19)
14+
15+
### Reverts
16+
17+
* Revert "feat: Appium 3 support ([#142](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/issues/142))" ([#145](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/issues/145)) ([fbb22db](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/commit/fbb22dbb5a7ca17f2813b22e64517c4a406e42e6))
18+
19+
## [1.5.0](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/compare/v1.4.1...v1.5.0) (2025-09-19)
20+
21+
### Features
22+
23+
* Appium 3 support ([#142](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/issues/142)) ([2979048](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/commit/297904836572161b2d552a87261441a360b6d9db))
24+
125
## [1.4.1](https://github.com/AppiumTestDistribution/appium-flutter-integration-driver/compare/v1.4.0...v1.4.1) (2025-09-17)
226

327
### Bug Fixes

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@ For more details, refer to the documentation for each driver:
169169

170170
## Acknowledgements 💚
171171

172+
<p align="center">
173+
<a href= "https://www.lambdatest.com"><img src="./logos/lt.png" alt="LambdaTest" width="60%" height="auto"></a>
174+
</p>
175+
176+
We would also like to thank LambdaTest for their support in integrating the Appium Flutter Driver with their Real Device Cloud. For more information on running Appium Flutter Integration tests on LambdaTest, please refer to their [documentation](https://www.lambdatest.com/support/docs/appium-flutter-integration/).
177+
172178
<p align="center">
173179
<a href= "https://saucelabs.com"><img src="./logos/sauce-labs.png" alt="Sauce Labs" width="60%" height="auto"></a>
174180
</p>

logos/lt.png

22.4 KB
Loading

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"appium",
66
"flutter"
77
],
8-
"version": "1.5.0",
8+
"version": "2.0.0",
99
"author": "",
1010
"license": "MIT License",
1111
"repository": {
@@ -91,7 +91,7 @@
9191
"webdriverio": "9.19.2"
9292
},
9393
"peerDependencies": {
94-
"appium": "^2.5.4"
94+
"appium": "^3.0.0"
9595
},
9696
"dependencies": {
9797
"@appium/base-driver": "^9.16.4",

src/driver.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ export class AppiumFlutterDriver extends BaseDriver<FlutterDriverConstraints> {
470470
// @ts-ignore
471471
await this.proxydriver.adb.removePortForward(this.flutterPort);
472472
}
473-
await this.proxydriver?.deleteSession();
473+
await this.proxydriver?.deleteSession(this.sessionId);
474474
await super.deleteSession();
475475
}
476476

src/iOS.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import type { AppiumFlutterDriver } from './driver';
22
// @ts-ignore
33
import { XCUITestDriver } from 'appium-xcuitest-driver';
4-
import type { InitialOpts } from '@appium/types';
54
import { DEVICE_CONNECTIONS_FACTORY } from './iProxy';
5+
import { XCUITestDriverOpts } from 'appium-xcuitest-driver/build/lib/driver';
66

77
export async function startIOSSession(
88
this: AppiumFlutterDriver,
99
...args: any[]
1010
): Promise<XCUITestDriver> {
1111
this.log.info(`Starting an IOS proxy session`);
12-
const iosdriver = new XCUITestDriver({} as InitialOpts);
13-
await iosdriver.createSession(...args);
12+
const iosdriver = new XCUITestDriver({} as XCUITestDriverOpts);
13+
await iosdriver.createSession.apply(iosdriver, args);
1414
return iosdriver;
1515
}
1616

0 commit comments

Comments
 (0)