From mobile-app-testing
Guides mobile app testing strategies: unit tests with Jest/XCTest/JUnit, UI automation/integration with Detox/Espresso/Appium, E2E flows. For test setup, device farms, flaky tests.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mobile-app-testing:mobile-app-testingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Implement comprehensive testing strategies for mobile applications.
Implement comprehensive testing strategies for mobile applications.
| Level | Tools | Coverage |
|---|---|---|
| Unit | Jest, XCTest, JUnit | 70% |
| Integration | Detox, Espresso | 20% |
| E2E | Appium, Detox | 10% |
// 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('[email protected]');
await element(by.id('password-input')).typeText('password123');
await element(by.id('login-button')).tap();
await expect(element(by.id('dashboard'))).toBeVisible();
});
});
func testLoginSuccess() {
let app = XCUIApplication()
app.launch()
app.textFields["email"].tap()
app.textFields["email"].typeText("[email protected]")
app.secureTextFields["password"].typeText("password123")
app.buttons["Login"].tap()
XCTAssertTrue(app.staticTexts["Welcome"].exists)
}
@Test
fun loginSuccess() {
onView(withId(R.id.email)).perform(typeText("[email protected]"))
onView(withId(R.id.password)).perform(typeText("password123"))
onView(withId(R.id.loginButton)).perform(click())
onView(withId(R.id.dashboard)).check(matches(isDisplayed()))
}
npx claudepluginhub secondsky/claude-skills --plugin mobile-app-testingProvides testing strategies for iOS and Android mobile apps covering unit, UI, integration, and performance tests with Detox, Appium, and XCTest.
Designs and implements a full mobile testing strategy — unit, widget/component, E2E, API mocking, snapshot, CI integration, and flaky test management for React Native, Flutter, and iOS.
Execute mobile app testing on iOS and Android emulators/simulators. Handles UI interactions, gestures, and platform-specific behaviors using Appium, Detox, XCUITest, Espresso, or Maestro.