Skip to content

MPT-15220: Appium tests for Welcome screen#24

Merged
bpolgar-swo merged 80 commits intomainfrom
feature/MPT-15220_appium_tests
Nov 28, 2025
Merged

MPT-15220: Appium tests for Welcome screen#24
bpolgar-swo merged 80 commits intomainfrom
feature/MPT-15220_appium_tests

Conversation

@bpolgar-swo
Copy link
Contributor

@bpolgar-swo bpolgar-swo commented Nov 19, 2025

Overview

This PR introduces comprehensive iOS automated testing capabilities using Appium and WebDriverIO. The implementation includes baseline tests, CI/CD workflows, and complete testing infrastructure to ensure app quality and enable automated regression testing.

🎯 Key Additions

📱 Appium Testing Framework

  • Helpful documentation under: documents/APPIUM_IOS_TESTING.md
  • Complete Appium setup with iOS simulator support
  • WebDriverIO integration for robust test execution
  • XCUITest driver for native iOS app automation
  • Baseline test suite covering core app functionality

🧪 Test Implementation

  • Welcome screen tests: App launch and initial navigation validation
  • Authentication flow tests: Login and user verification scenarios
  • Page Object Model: Structured, maintainable test architecture
  • Test configuration: Environment-specific settings and capabilities

🔄 CI/CD Integration

  • GitHub Actions workflows for automated testing
  • iOS build and test pipeline with simulator execution
  • Template workflows for reusable testing components
  • Artifact management for build distribution and test results

🛠 Technical Stack

Testing Dependencies

{
  "@wdio/appium-service": "^9.20.0",
  "@wdio/cli": "^9.20.0",
  "@wdio/junit-reporter": "^9.20.0",
  "@wdio/local-runner": "^9.20.0",
  "@wdio/mocha-framework": "^9.20.0",
  "@wdio/spec-reporter": "^9.20.0",
  "appium": "^3.1.1",
  "appium-xcuitest-driver": "^10.5.1"
}

expanded package.json with appium related entries
added test/ folder to app/ to support appium testing
added related github workflow files
moved template yml from folder to workflow root
added changes for workflow files testing via appium
edited wdio.conf to prepare for reportportal integration
- Add working-directory: ./app to release step
- Remove 'app/' prefix from zip file path since we're now in app directory
- Update find command to search from current directory (.)
- This ensures consistent path resolution across all build steps
- Change from contents: read to contents: write
- Add actions: read permission for artifact access
- This allows the workflow to create GitHub releases
…branch triggers

- Add --skip-build/-s option to run-local-test.sh for fast iteration
- Support reusing existing builds to avoid 5-8 minute rebuild times
- Add validation to prevent conflicting build options
- Update APPIUM_IOS_TESTING.md with comprehensive workflow documentation
- Remove branch triggers from iOS workflow files (manual trigger only)
- Add appium log files to .gitignore

Performance improvements:
- Full build: ~6-8 minutes
- Skip build: ~10 seconds
- No flags: ~5 seconds
- Move all Appium and WebDriverIO related packages to devDependencies
- Move @reportportal/agent-js-webdriverio to devDependencies
- Move wdio to devDependencies
- Testing functionality preserved as scripts use npx
- CI/CD workflows unaffected as they use npm ci + npx commands
- Add @types/node@^20.17.10 to devDependencies
- Regenerate package-lock.json to resolve CI npm ci failures
- Fix package.json/package-lock.json sync issue in GitHub Actions
@bpolgar-swo bpolgar-swo merged commit d891ff8 into main Nov 28, 2025
4 checks passed
@bpolgar-swo bpolgar-swo deleted the feature/MPT-15220_appium_tests branch November 28, 2025 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants