test: [SDK-4333] add Appium E2E test suite for mobile SDKs#28
Merged
fadi-george merged 24 commits intomainfrom Apr 14, 2026
Merged
test: [SDK-4333] add Appium E2E test suite for mobile SDKs#28fadi-george merged 24 commits intomainfrom
fadi-george merged 24 commits intomainfrom
Conversation
Replace smoke placeholder with real E2E test specs: - Init: verify SDK initialization and app ID logging - User: login/logout flow with external ID verification - Push: subscription state, tooltip info, simple notification - Tags: section display validation (skipped pending UI stabilization) Made-with: Cursor
Adds a cross-platform helper to verify system notification delivery by opening the notification shade/center, searching for the notification title, and returning to the app. Made-with: Cursor
- maxInstances was 0 for BrowserStack runs, meaning no workers would be scheduled. Changed to 5 for parallel execution. - Help text for IOS_SIMULATOR and IOS_RUNTIME still referenced iPhone 16 and iOS-18-2 instead of iPhone 17 and iOS-26-2. Made-with: Cursor
4cf75f8 to
48f5446
Compare
abdulraqeeb33
approved these changes
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds an Appium E2E test suite for validating OneSignal mobile SDK functionality. This PR covers iOS only and tests more than half of the demo app's features. Android support and additional test coverage will follow in subsequent PRs.
The WDIO config is currently set to accept any permission prompts. As you can see in the video.
I also hid app id and push id for the recording, this change will not be committed for flutter.
flutter-ios-1.mov
Can use the run-local.sh script if you clone the OneSignal-Flutter-SDK and configure .env file. Then run like so:
./run-local.sh --platform=ios --sdk=flutterCan run with skip if theres no change to the flutter sdk:
./run-local.sh --platform=ios --sdk=flutter --skipDetails
Test specs covering core SDK features (run in dependency order):
Local test runner (
appium/scripts/run-local.sh) that handles the full lifecycle:--skip-build,--skip-device,--skip-reset, and--specflagsCI workflow (
.github/workflows/appium-e2e.yml) as a reusableworkflow_callthat uploads the app to BrowserStack and runs tests there.Shared test helpers for element selection, scrolling, login flows, and structured logging.
Other changes:
.cursor/rules/config files (moved to project-wide rules)