{"enrichment":{"faq":[{"a":"qa-testing-android teaches you to write Espresso tests by starting with framework setup in your Gradle configuration, then structuring tests using ViewMatchers to locate UI elements, ViewActions to simulate user interactions, and ViewAssertions to verify expected outcomes. The skill emphasizes proper selector strategies and idling resource management to ensure tests wait for asynchronous operations before making assertions, reducing flakiness and improving reliability across different device configurations.","q":"How do I write Espresso tests for Android?"},{"a":"qa-testing-android explains that Robolectric runs unit tests on the JVM without an emulator or device, making tests fast but limited to Android framework simulation, while Espresso runs instrumented tests on actual devices or emulators, providing real UI interaction validation. The skill guides you to use Robolectric for rapid unit-level testing during development and Espresso for comprehensive UI testing, building a layered test strategy that covers unit, Robolectric, instrumented UI, and system-level testing for maximum coverage and confidence.","q":"What is the difference between Robolectric and Espresso testing for Android?"},{"a":"qa-testing-android addresses flaky test stabilization through multiple techniques: isolating tests to eliminate state dependencies, implementing proper idling resources to wait for background operations, managing test data consistently, and using explicit waits instead of arbitrary sleeps. The skill teaches you to debug instability by examining timing issues, race conditions, and resource contention, then provides strategies for state management and synchronization that make your Android instrumented tests reliable across varying execution environments.","q":"How can I fix flaky Android tests?"},{"a":"qa-testing-android shows you how to configure Gradle Managed Devices to run instrumented tests in CI/CD environments without manual device management, then integrate this with GitHub Actions for automated test execution on every code push. The skill covers Gradle command configuration, device matrix setup for testing across multiple Android versions and form factors, and pipeline orchestration so your tests run consistently in headless environments, reducing manual testing overhead and catching regressions early.","q":"How do I integrate Android testing into CI/CD pipelines using Gradle Managed Devices?"},{"a":"qa-testing-android emphasizes writing stable, maintainable Android UI tests by using specific, resilient selectors that target unique UI identifiers rather than fragile positional or text-based matching, implementing explicit waits with idling resources for asynchronous operations, and managing test data through dependency injection or test fixtures. The skill guides you to avoid common pitfalls like hard-coded delays, brittle selectors, and shared state, ensuring your test suite remains maintainable as your app evolves and scales across different devices and Android versions.","q":"What are the best practices for Android UI testing with proper selectors and waits?"},{"a":"qa-testing-android provides step-by-step configuration guidance for each framework: Espresso setup includes adding dependencies, configuring test runners, and initializing ActivityScenario; Compose Testing covers the Compose test harness and semantics-based element selection; UIAutomator setup enables cross-app and system-level testing. The skill walks you through Gradle configuration, dependency management, and framework-specific initialization so you can select the right tool for each testing scenario and establish a cohesive testing infrastructure for your Android project.","q":"How do I set up and configure Android testing frameworks like Espresso, Compose Testing, and UIAutomator?"}],"shadow_tags":["ui-automation-frameworks","mobile-test-stability","ci-pipeline-integration","test-layer-strategy","device-matrix-coverage","async-synchronization-patterns","test-isolation-techniques","selector-reliability","gradle-build-automation","artifact-capture-debugging"],"summary_rewrite":"This skill guides you through establishing robust UI testing infrastructure for Android applications. It covers framework selection and configuration for Espresso, Compose Testing, and UIAutomator, enabling you to build automated test suites that validate your app's user interface reliably."},"files":[{"bytes":7945,"path":"frameworks/shared-skills/skills/qa-testing-android/SKILL.md","sha256":"634ff8bf991c6985f059a724f8819756654e0091dbeb0a0ca2efc30624c45a3c","url":"https://skillfed.io/files/vasilyu1983/AI-Agents-public/qa-testing-android/6e521213/SKILL.md"}],"id":"vasilyu1983/AI-Agents-public/qa-testing-android","links":{"html":"https://skillfed.io/vasilyu1983/AI-Agents-public/qa-testing-android","md":"https://skillfed.io/vasilyu1983/AI-Agents-public/qa-testing-android.md","repo":"https://github.com/vasilyu1983/AI-Agents-public"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":17,"language":"Python","last_updated":"2026-07-13","license":"MIT","name":"qa-testing-android","publisher":"vasilyu1983","stars":69},"relations":{"similar":[{"id":"LambdaTest/agent-skills/espresso-skill"},{"id":"vasilyu1983/AI-Agents-public/qa-testing-mobile"},{"id":"krutikJain/android-agent-skills/android-emulator-automation"},{"id":"android/skills/testing-setup"},{"id":"cometchat/cometchat-skills/cometchat-android-v6-testing"},{"id":"MiniMax-AI/skills/android-native-dev"},{"id":"krutikJain/android-agent-skills/android-testing-ui"},{"id":"skydoves/compose-performance-skills/generating-baseline-profiles"},{"id":"meta-quest/agentic-tools/portal"},{"id":"meta-quest/agentic-tools/hz-psdk-integration"}]},"slug":{"owner":"vasilyu1983","repo":"AI-Agents-public","skill":"qa-testing-android"},"version":"6e521213"}
