Skip to content

Conversation

Copy link

Copilot AI commented Aug 29, 2025

  • Migrated Android emulator CI to use ARM64 system image (system-images;android-33;google_apis;arm64-v8a) for Apple Silicon GitHub Actions runners.
  • Removed x86_64 image usage from workflow and cache.
  • Scripts now auto-detect architecture and select the correct AVD/image.
  • Updated docs and cache steps for new architecture.

Important:

The Android emulator cannot be run in GitHub Actions CI due to lack of hardware virtualization support on Apple Silicon runners

Copilot AI changed the title [WIP] Appium 2 Drivers & Plugins Implement Appium 2 with uiautomator2 driver support and driver management Aug 29, 2025
Copilot AI requested a review from Ebazhanov August 29, 2025 08:20
Copilot finished work on behalf of Ebazhanov August 29, 2025 08:20
@Ebazhanov Ebazhanov requested review from LSS35 and Copilot August 29, 2025 09:05
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR establishes a complete Appium 2 automation testing setup with uiautomator2 driver support for Android automation. It creates a foundational project structure with driver management capabilities and basic test functionality.

Key changes include:

  • Complete Appium 2.19.0 setup with uiautomator2 driver v3.10.0 installation
  • Driver management scripts and commands for listing and installing drivers
  • Basic test implementation demonstrating uiautomator2 functionality with error handling

Reviewed Changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Defines project dependencies (Appium 2.19.0, uiautomator2 driver, WebDriverIO) and NPM scripts for driver management
tests/basic-test.js Implements basic uiautomator2 test with Android Calculator app capabilities and comprehensive error handling
scripts/driver-demo.js Creates interactive demonstration script showing driver management capabilities and current installation status
config/capabilities.js Provides example capability configurations for various Android testing scenarios (basic, app, browser, real device)
config/appium.json Defines Appium server configuration with uiautomator2 driver settings
README.md Comprehensive documentation covering setup, usage, troubleshooting, and driver management

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@Ebazhanov
Copy link
Collaborator

@copilot rebase with main branch

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 6 out of 8 changed files in this pull request and generated 3 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

'appium:noReset': true
};

const appiumServerUrl = 'http://localhost:4723/wd/hub';
Copy link

Copilot AI Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The appiumServerUrl variable is defined but never used. It's redundant since the same URL is constructed from the individual components in the remote() call. Consider removing this unused variable or using it in the connection setup.

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on this

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made the server URL configurable via environment variables. Now uses APPIUM_SERVER_URL environment variable with fallback to the default localhost URL. Added .env.example file with all configuration options. Commit 9416355

'appium:automationName': 'UiAutomator2',
'appium:deviceName': 'Android Emulator',
'appium:platformVersion': '11.0',
'appium:app': '/path/to/your/app.apk', // Path to your APK
Copy link

Copilot AI Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholder path '/path/to/your/app.apk' should be a more realistic example or use environment variable syntax to indicate it needs to be configured. Consider using something like '${APP_PATH}/your-app.apk' or './apps/sample.apk' to make it clearer this needs customization.

Suggested change
'appium:app': '/path/to/your/app.apk', // Path to your APK
'appium:app': process.env.APP_PATH || './apps/sample.apk', // Set APP_PATH env variable or place APK at ./apps/sample.apk

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on it

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated the app path configuration to use environment variables with a practical fallback. Now supports APP_PATH environment variable or defaults to ./apps/sample-app.apk. Also created an apps directory and .env.example file for better user experience. Commit 9416355

platformName: 'Android',
'appium:automationName': 'UiAutomator2',
'appium:deviceName': 'Real Device', // Use adb devices to get UDID
'appium:udid': 'YOUR_DEVICE_UDID',
Copy link

Copilot AI Sep 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The placeholder 'YOUR_DEVICE_UDID' should follow a more realistic format or use environment variable syntax. Consider using '${DEVICE_UDID}' or a format that shows what a real UDID looks like (e.g., 'emulator-5554' for emulator or '1A2B3C4D5E6F' for device).

Suggested change
'appium:udid': 'YOUR_DEVICE_UDID',
'appium:udid': '${DEVICE_UDID}',

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on this

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enhanced the UDID configuration to use environment variables with better instructions. Now supports DEVICE_UDID environment variable with a clear placeholder and instructions to run 'adb devices' to get the actual UDID. Commit 9416355

Copilot AI and others added 2 commits September 11, 2025 06:27
# Conflicts:
#	.gitignore
#	README.md
#	package.json
Copy link
Author

Copilot AI commented Sep 11, 2025

@copilot rebase with main branch

Successfully merged the main branch into copilot/fix-3. The merge combined our Appium 2 implementation with the comprehensive mobile automation workspace setup from main. All conflicts have been resolved and functionality verified. Commit 46767a1

Copilot AI changed the title Implement Appium 2 with uiautomator2 driver support and driver management Implement Appium 2 with uiautomator2 driver support and comprehensive mobile automation workspace Sep 11, 2025
Copilot finished work on behalf of Ebazhanov September 11, 2025 06:33
Copy link
Collaborator

@Ebazhanov Ebazhanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot fyi

'appium:automationName': 'UiAutomator2',
'appium:deviceName': 'Android Emulator',
'appium:platformVersion': '11.0',
'appium:app': '/path/to/your/app.apk', // Path to your APK
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on it

platformName: 'Android',
'appium:automationName': 'UiAutomator2',
'appium:deviceName': 'Real Device', // Use adb devices to get UDID
'appium:udid': 'YOUR_DEVICE_UDID',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on this

'appium:noReset': true
};

const appiumServerUrl = 'http://localhost:4723/wd/hub';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot can you pls work on this

Copilot AI requested a review from Ebazhanov September 11, 2025 06:55
Copilot finished work on behalf of Ebazhanov September 11, 2025 06:55
@Ebazhanov Ebazhanov changed the title Implement Appium 2 with uiautomator2 driver support and comprehensive mobile automation workspace Attempt to run tests in GH action Sep 28, 2025
@Ebazhanov Ebazhanov changed the title Attempt to run tests in GH action Attempt to run tests in GH action based on NPM Sep 28, 2025
@Ebazhanov Ebazhanov changed the title Attempt to run tests in GH action based on NPM Attempt to run Android tests in GH action based on NPM Sep 28, 2025
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.

3 participants