clicking-and-scrolling

Drives Jetpack Compose UI clicks, scrolls, and focus via semantics actions for automated testing.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/trancee/MeshLink-template --skill clicking-and-scrolling-trancee
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: clicking-and-scrolling
Source: https://github.com/trancee/MeshLink-template/tree/main/.agents/skills/android-testing-skills/compose/actions/clicking-and-scrolling
Command: npx skills add https://github.com/trancee/MeshLink-template --skill clicking-and-scrolling-trancee

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill resolves the complexity of interacting with Jetpack Compose UI components during testing, specifically addressing common failures when attempting to click, scroll, or trigger semantics actions on nodes that are not immediately visible or accessible.

Core Features & Use Cases

  • High-Level Action APIs: Provides direct methods for clicking, scrolling to specific nodes, and triggering custom accessibility actions without needing low-level gesture builders.
  • Lazy Container Support: Simplifies navigation within LazyColumn and LazyRow by targeting the container rather than individual items.
  • Use Case: Use this skill when you need to scroll a long list to a specific item, click a link embedded within a text block, or trigger a custom semantics action defined in your production code.

Quick Start

Use the clicking-and-scrolling skill to perform a click on the submit button identified by its test tag.

Frequently Asked Questions about clicking-and-scrolling

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scroll to a specific item in a Jetpack Compose LazyColumn during UI testing?

To scroll to a specific item in a Jetpack Compose LazyColumn, target the scroll container using high-level semantics actions rather than individual items. This approach applies performScrollTo and tag-based node selection to ensure stable navigation within lazy lists.

Why does performClick fail on Jetpack Compose nodes that are not immediately visible?

performClick fails on non-visible nodes because Jetpack Compose requires the target element to be accessible. This skill resolves the issue by applying proper scroll-container targeting to bring the node into view before triggering the click semantics action.

Can I trigger custom accessibility actions in Jetpack Compose UI tests without low-level gesture builders?

Yes, you can trigger custom accessibility actions directly without low-level gesture builders. This skill provides high-level action APIs that drive Jetpack Compose semantics interactions for clicking, scrolling, and focus management during automated UI testing.

What is the best way to click a link embedded within a Jetpack Compose text block?

The best way to click an embedded link in Jetpack Compose text is using tag-based node selection with high-level semantics actions. This skill handles link annotations by targeting the specific node without needing manual gesture construction.

Does this approach to Jetpack Compose UI testing support both LazyColumn and LazyRow containers?

Yes, this approach supports both LazyColumn and LazyRow containers. It simplifies navigation within lazy lists by applying high-level semantics actions to target the lazy container itself, ensuring robust and stable UI test interactions.