Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jeremylongshore avatar

Testing Mobile Apps

  • 38 installs
  • 2.6k repo stars
  • Updated August 5, 2026
  • jeremylongshore/claude-code-plugins-plus-skills

Runs automated mobile app tests on iOS simulators and Android emulators for UI, navigation and gestures.

About

Executes mobile app tests covering UI interactions, navigation and platform behaviors via Appium, Detox, XCUITest, Espresso or Maestro. A developer uses it to validate iOS and Android app functionality on devices or simulators.

  • Supports Appium, Detox, XCUITest, Espresso and Maestro
  • Covers UI, navigation, gesture and platform-specific behaviors

Testing Mobile Apps by the numbers

  • 38 all-time installs (skills.sh)
  • Ranked #1,296 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jeremylongshore/claude-code-plugins-plus-skills --skill testing-mobile-apps

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs38
repo stars2.6k
Last updatedAugust 5, 2026
Repositoryjeremylongshore/claude-code-plugins-plus-skills

What it does

Runs automated mobile app tests on iOS simulators and Android emulators for UI, navigation and gestures.

Files

SKILL.mdMarkdownGitHub ↗

Mobile App Tester

Overview

Execute automated mobile application testing on iOS simulators and Android emulators covering UI interactions, navigation flows, gesture handling, and platform-specific behaviors. Supports Appium, Detox (React Native), XCUITest (iOS native), Espresso (Android native), and Maestro for cross-platform mobile testing.

Prerequisites

  • Mobile testing framework installed (Appium, Detox, Maestro, or native XCUITest/Espresso)
  • iOS Simulator via Xcode (macOS only) or Android Emulator via Android SDK
  • Application build artifact (.app, .apk, or .ipa) or bundled dev server (React Native)
  • Appium drivers installed (uiautomator2 for Android, xcuitest for iOS) if using Appium
  • Node.js for JavaScript-based test runners

Instructions

1. Configure the test environment:

  • List target devices/simulators: specify OS versions, screen sizes, and orientations.
  • Build the application for testing (xcodebuild, ./gradlew assembleDebug, or npx react-native build).
  • Start the emulator/simulator or connect physical devices.
  • Install the app on the target device.

2. Create test cases for core mobile interactions:

  • Tap and navigation: Tap buttons, navigate between screens, verify back navigation.
  • Text input: Fill forms, verify keyboard behavior, test autocomplete and paste.
  • Scrolling: Scroll lists, verify lazy loading, test pull-to-refresh.
  • Gestures: Swipe (carousel), pinch-to-zoom, long press, drag-and-drop.
  • System interactions: Handle permission dialogs, push notifications, deep links.

3. Test platform-specific behaviors:

  • iOS: Safe area insets, notch handling, Dynamic Type, VoiceOver accessibility.
  • Android: Back button behavior, multi-window, different navigation patterns, TalkBack.
  • Both: Screen rotation (portrait/landscape), dark mode, low battery mode.

4. Implement device-specific test configurations:

  • Define capability sets for each device/OS combination.
  • Use test tagging to run subsets on specific platforms (@ios, @android).
  • Configure screenshot capture on failure for visual debugging.

5. Handle asynchronous mobile behaviors:

  • Wait for animations to complete before assertions.
  • Handle network loading spinners with explicit waits.
  • Account for system dialogs (permissions, updates) that interrupt test flow.

6. Run the test suite and capture results:

  • Execute tests per platform: npx detox test --configuration ios.sim.debug.
  • Collect device logs, screenshots, and crash reports.
  • Generate JUnit XML or Allure reports for CI integration.

7. Set up CI pipeline for mobile testing (GitHub Actions macOS runners for iOS, Linux for Android).

Output

  • Mobile test files organized by feature/flow in tests/mobile/ or e2e/
  • Device configuration profiles for each target device/OS combination
  • Screenshot captures for visual validation and failure debugging
  • Test results in JUnit XML format with device-specific metadata
  • CI pipeline configuration for automated mobile test execution

Error Handling

ErrorCauseSolution
Simulator/emulator fails to bootInsufficient disk space or corrupted simulator imageDelete derived data and reset simulator; increase disk allocation; recreate the emulator AVD
App crashes on launch during testMissing permissions or incompatible OS versionCheck minimum deployment target; grant required permissions in test setup; verify app signing
Element not foundElement ID changed or screen did not finish loadingUse accessibility IDs instead of XPath; add explicit waits; verify element visibility before interaction
Test flaky on CI but passes locallyCI runner has slower CPU/GPU affecting animations and timingIncrease wait timeouts for CI; disable animations in developer settings; use dedicated CI hardware
Permission dialog blocks testSystem alert appeared over the app UIAuto-dismiss alerts in test setup; pre-grant permissions via xcrun simctl or ADB commands

Examples

Detox test for React Native login flow:

describe('Login Flow', () => {
  beforeAll(async () => { await device.launchApp(); });
  beforeEach(async () => { await device.reloadReactNative(); });

  it('logs in with valid credentials', async () => {
    await element(by.id('email-input')).typeText('user@test.com');
    await element(by.id('password-input')).typeText('password123');
    await element(by.id('login-button')).tap();
    await expect(element(by.id('home-screen'))).toBeVisible();
  });
});

Maestro flow file:

appId: com.example.myapp
---
- launchApp
- tapOn: "Sign In"
- inputText:
    id: "email-input"
    text: "user@test.com"
- inputText:
    id: "password-input"
    text: "password123"
- tapOn: "Submit"
- assertVisible: "Welcome"

Resources

  • Appium documentation: https://appium.io/docs/en/latest/
  • Detox (React Native): https://wix.github.io/Detox/
  • Maestro mobile testing: https://maestro.mobile.dev/
  • XCUITest: https://developer.apple.com/documentation/xctest/user-interface-tests
  • Espresso (Android): https://developer.android.com/training/testing/espresso

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.