composing-semantics-matchers
CommunityFind the exact UI node with one matcher.
Software Engineering#android#jetpack-compose#ui-testing#accessibility-testing#semanticsmatcher#selector-algebra#hierarchical-queries
Authorskydoves
Version1.0.0
Installs0
System Documentation
What problem does it solve?
This Skill prevents brittle Compose UI tests by replacing multiple chained assertions with a single, precise SemanticsMatcher that targets the correct node and produces a clear, clause-by-clause failure message.
Core Features & Use Cases
- Composable matcher algebra: Build one SemanticsMatcher using infix and, infix or, and operator not so failures explain exactly which constraints were not met.
- Rich prebuilt semantics filters: Combine built-in matchers like hasText, hasClickAction, isEnabled, isOn, hasTestTag, hasContentDescription, and many more.
- Hierarchical matching: Express relationships using hasParent, hasAnyAncestor, hasAnyChild, hasAnySibling, and hasAnyDescendant to avoid incorrect “direct child” assumptions.
- Custom semantics keys: Match domain-specific SemanticsPropertyKey values using SemanticsMatcher.expectValue, SemanticsMatcher.keyIsDefined, and SemanticsMatcher.keyNotDefined.
Quick Start
Use the composing-semantics-matchers skill to write one onNode query that combines text, state, actions, and (if needed) ancestor/descendant constraints into a single SemanticsMatcher.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: composing-semantics-matchers Download link: https://github.com/skydoves/android-testing-skills/archive/main.zip#composing-semantics-matchers Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.