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

Mobile App Testing

  • 373 installs
  • 202 repo stars
  • Updated August 4, 2026
  • secondsky/claude-skills

mobile-app-testing is a Claude Code plugin skill that implements mobile testing strategies across unit, integration, and E2E layers using Jest, XCTest, JUnit, Detox, Espresso, and Appium for React Native, iOS, and Androi

About

mobile-app-testing is a Claude Code plugin skill from secondsky/claude-skills that implements comprehensive mobile testing strategies for React Native, iOS, and Android applications. It maps a testing pyramid allocating roughly 70% unit tests (Jest, XCTest, JUnit), 20% integration tests (Detox, Espresso), and 10% E2E tests (Appium, Detox). The skill provides framework setup guidance, example login-flow Detox specs, flaky-test debugging, device-farm CI integration, and platform-specific error resolution. Developers reach for mobile-app-testing when setting up test infrastructure, writing E2E automation, encountering flaky selectors, or configuring cross-platform mobile CI pipelines. It recommends testID and accessibility-label conventions, mocking external dependencies, and maintaining above 80% code coverage targets for business logic.

  • mobile-app-testing

Mobile App Testing by the numbers

  • 373 all-time installs (skills.sh)
  • +16 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #1,149 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/secondsky/claude-skills --skill mobile-app-testing

Add your badge

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

Listed on Skillselion
Installs373
repo stars202
Last updatedAugust 4, 2026
Repositorysecondsky/claude-skills

How do you set up mobile app test automation?

Use mobile-app-testing for development tasks

Who is it for?

Mobile developers building React Native, iOS, or Android test infrastructure with Jest, Detox, Espresso, or Appium across unit, integration, and E2E layers.

Skip if: Backend-only API projects or web-only applications without native mobile UI components to automate.

When should I use this skill?

User encounters flaky mobile tests, needs Detox/Appium E2E setup, or asks about mobile testing pyramid, device farms, or platform-specific test errors.

What you get

Unit test suites, Detox/Espresso integration specs, Appium E2E flows, and CI device-farm configurations.

  • Unit test suites
  • E2E automation specs
  • CI test pipeline config

By the numbers

  • Testing pyramid targets 70% unit, 20% integration, 10% E2E coverage split
  • Recommends >80% code coverage for business logic
  • Covers 6 frameworks: Jest, XCTest, JUnit, Detox, Espresso, Appium

Files

SKILL.mdMarkdownGitHub ↗

Mobile App Testing

Implement comprehensive testing strategies for mobile applications.

Testing Pyramid

LevelToolsCoverage
UnitJest, XCTest, JUnit70%
IntegrationDetox, Espresso20%
E2EAppium, Detox10%

React Native (Jest + Detox)

// Unit test
describe('CartService', () => {
  it('calculates total correctly', () => {
    const cart = new CartService();
    cart.addItem({ price: 10, quantity: 2 });
    expect(cart.getTotal()).toBe(20);
  });
});

// E2E test (Detox)
describe('Login flow', () => {
  beforeEach(async () => {
    await device.reloadReactNative();
  });

  it('should login successfully', async () => {
    await element(by.id('email-input')).typeText('user@example.com');
    await element(by.id('password-input')).typeText('password123');
    await element(by.id('login-button')).tap();
    await expect(element(by.id('dashboard'))).toBeVisible();
  });
});

iOS (XCTest)

func testLoginSuccess() {
    let app = XCUIApplication()
    app.launch()

    app.textFields["email"].tap()
    app.textFields["email"].typeText("user@example.com")
    app.secureTextFields["password"].typeText("password123")
    app.buttons["Login"].tap()

    XCTAssertTrue(app.staticTexts["Welcome"].exists)
}

Android (Espresso)

@Test
fun loginSuccess() {
    onView(withId(R.id.email)).perform(typeText("user@example.com"))
    onView(withId(R.id.password)).perform(typeText("password123"))
    onView(withId(R.id.loginButton)).perform(click())
    onView(withId(R.id.dashboard)).check(matches(isDisplayed()))
}

Best Practices

  • Test business logic first (unit tests)
  • Mock external dependencies
  • Test both success and failure paths
  • Automate critical user flows
  • Maintain >80% code coverage
  • Test on real devices periodically

Avoid

  • Testing implementation details
  • Hardcoded test data
  • Interdependent tests
  • Skipping error case testing

Related skills

How it compares

Pick mobile-app-testing for native and React Native pyramid strategy; use generic web E2E skills when testing browser-only applications without iOS or Android targets.

FAQ

Which tools does mobile-app-testing recommend?

mobile-app-testing maps a testing pyramid using Jest, XCTest, and JUnit for unit tests (70%), Detox and Espresso for integration (20%), and Appium and Detox for E2E tests (10%) on React Native, iOS, and Android.

How does mobile-app-testing handle flaky tests?

mobile-app-testing addresses flaky mobile tests through improved testID selectors, retry strategies, device-farm configuration, and platform-specific debugging for Detox, Espresso, and Appium automation failures.

Backend & APIsbackendintegrations

This week in AI coding

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

unsubscribe anytime.