Skip to content
Skillv1.0.0

mobile-app-testing

Mobile app testing with unit tests, UI automation, performance testing. Use for test infrastructure, E2E tests, testing standards, or encountering test framework setup, device farms, flaky tests, plat

by secondsky(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from secondsky/claude-skills (plugins/mobile-app-testing/skills/mobile-app-testing/SKILL.md) via skills.sh. Install upstream with npx skills add secondsky/claude-skills --skill mobile-app-testing. Copyright stays with the author (MIT).

Mobile App Testing

Implement comprehensive testing strategies for mobile applications.

Testing Pyramid

Level Tools Coverage
Unit Jest, XCTest, JUnit 70%
Integration Detox, Espresso 20%
E2E Appium, Detox 10%

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

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/secondsky-claude-skills-mobile-app-testing/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

secondsky-claude-skills-mobile-app-testing.ocm.jsonjson
{
  "ocm": "1",
  "id": "secondsky-claude-skills-mobile-app-testing",
  "kind": "skill",
  "name": "mobile-app-testing",
  "description": "Mobile app testing with unit tests, UI automation, performance testing. Use for test infrastructure, E2E tests, testing standards, or encountering test framework setup, device farms, flaky tests, platform-specific test errors.",
  "publisher": "secondsky",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "mobile",
      "testing",
      "unit",
      "ui",
      "automation",
      "e2e",
      "jest",
      "xctest",
      "junit"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Mobile app testing with unit tests, UI automation, performance testing. Use for test infrastructure, E2E tests, testing standards, or encountering test framework setup, device farms, flaky tests, platform-specific test errors."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/secondsky/claude-skills",
      "path": "plugins/mobile-app-testing/skills/mobile-app-testing/SKILL.md",
      "ref": "HEAD",
      "url": "https://www.skills.sh/secondsky/claude-skills/mobile-app-testing",
      "key": "secondsky/claude-skills/plugins/mobile-app-testing/skills/mobile-app-testing/SKILL.md"
    },
    "license": "MIT"
  },
  "instructions": "# Mobile App Testing\n\nImplement comprehensive testing strategies for mobile applications.\n\n## Testing Pyramid\n\n| Level | Tools | Coverage |\n|-------|-------|----------|\n| Unit | Jest, XCTest, JUnit | 70% |\n| Integration | Detox, Espresso | 20% |\n| E2E | Appium, Detox | 10% |\n\n## React Native (Jest + Detox)\n\n```javascript\n// Unit test\ndescribe('CartService', () => {\n  it('calculates total correctly', () => {\n    const cart = new CartService();\n    cart.addItem({ price: 10, quantity: 2 });\n    expect(cart.getTotal()).toBe(20);\n  });\n});\n\n// E2E test (Detox)\ndescribe('Login flow', () => {\n  befor",
  "cost": {
    "context_tokens": 496
  }
}

Fetch it by URL: GET /api/v1/registry/secondsky-claude-skills-mobile-app-testing/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.