Free tools Windows power users keep installed
One-click scans. No signup required.
Compose UI tests search semantics nodes, not a view for every composable. By default, finders search the merged semantics tree, where a clickable button may absorb its label’s semantics. Print the tree first: if the label is on the button node, match it there; if it exists only as a separate descendant, search the unmerged tree.
Why a text matcher may not find the button
Compose testing is based on semantics: the information composables expose about UI elements for accessibility and testing. Not every composable creates a separate node in the UI hierarchy. As Android Developers explains, “In Compose, because only some composables emit UI into the UI hierarchy, you need a different approach to matching UI elements.” Android Developers’ testing API documentation describes this model.
As an Amazon Associate I earn from qualifying purchases.
Compose test finders search the merged semantics tree by default. A clickable parent can merge semantics from its descendants, so the visible label may appear as text on the button’s node rather than as a separately searchable child. Conversely, a child that is hidden by merging may be available when you explicitly search the unmerged tree. The merged and unmerged trees show different node structures; changing trees is not a universal fix. Compose semantics documentation
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Inspect the semantics tree before changing the matcher
Print the default tree to see what a normal finder can search. If needed, print the unmerged tree as well. In the log, check whether the label appears on the button node, on a descendant, or not at all.
#1 Best Overall
- Please note, this device does not support E-SIM; This 4G model is compatible with all GSM networks worldwide outside of the U.S. In the US, ONLY compatible with T-Mobile and their MVNO's (Metro and Standup). It will NOT work with other CDMA carriers, and it is also not compatible with their MVNO (Visible, Xfinity Mobile, US Mobile, Cricket Wireless, etc).
- Compatibility with certain third-party devices and accessibility accessories, including some hearing aids, may vary depending on manufacturer support, Bluetooth protocols, software compatibility, and regional firmware limitations. For additional hearing aid compatibility information, please refer to Samsung’s official support documentation.
- Camera: 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, AF | 50 MP, f/1.8, (wide), 1/2.76", 0.64µm, AF | 2 MP, f/2.4, (macro). Battery: 5000 mAh, non-removable | A power adapter is NOT included.
composeTestRule.onRoot().printToLog("ComposeTree")
composeTestRule.onRoot(useUnmergedTree = true).printToLog("ComposeTreeUnmerged")
These are documentation-based examples, not a claim that they were run against a particular app or Compose version. The tree output is more useful than guessing: it reveals which semantics the test can actually match.
Choose the finder that matches the exposed semantics
| What the tree exposes | How to target it | When to use it |
|---|---|---|
| Text on a merged button or other node | onNodeWithText("Continue") or a hasText matcher |
The label is present in the default merged tree. |
| Text only on an unmerged descendant | onNodeWithText("Continue", useUnmergedTree = true) |
The specific descendant is absent from the merged tree but present in the unmerged tree. |
| An accessible description, such as for an icon-only control | A content-description finder or matcher | The control exposes a content description rather than visible text. |
| A test tag or another semantics property | A test-tag finder or matcher for the relevant property | That property is the intended, suitably unique handle. |
Compose’s test API includes single-node and multiple-node finders and lets you combine matchers. Check the Compose UI test API reference for the available functions and signatures.
Rank #2
- YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
- LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
- MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
- NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
- BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
Separate finding, asserting, and clicking
A finder selects node or nodes; an assertion verifies a condition; an action interacts with the selected node. For a label exposed in the merged tree, a test can find it, check that the node exists and is displayed, and then click it:
composeTestRule
.onNodeWithText("Continue")
.assertExists()
.assertIsDisplayed()
.performClick()
If the tree shows the label only as a descendant, target that tree intentionally:
Rank #3
- Carrier: This phone is locked to Tracfone, which means this device can only be used on the Tracfone wireless network. Tracfone plan required, activating is easy, just 3 steps.
- DISPLAY: Immersive viewing on a 6.7-inch super-bright 120Hz display with powerful stereo speakers and Bass Boost for cinematic entertainment.
- CAMERA SYSTEM: Advanced 50MP Quad Pixel camera captures sharp, detailed photos and videos in any lighting condition
- PERFORMANCE: Lightning-fast 5G connectivity paired with a powerful processor and RAM Boost for smooth multitasking.
- BATTERY LIFE: Long-lasting 5000mAh battery with TurboPower charging technology delivers hours of power in minutes.
composeTestRule
.onNodeWithText("Continue", useUnmergedTree = true)
.assertIsDisplayed()
Use the second form only when the unmerged tree confirms that is the node you mean. Matching a child by familiar text can select the wrong element if the same label occurs elsewhere.
What to check when the text is missing or repeated
- Confirm the test state and spelling. Verify that the expected content is present when the test runs, then check the tree for the exact semantics value.
- For icon-only controls, inspect the description. If no visible text is exposed, a content description may be the meaningful label; use a content-description finder when that is what the tree shows.
- For repeated text, add a constraint. Combine the text matcher with a test tag, parent or ancestor relationship, or another relevant matcher so the test identifies the intended node.
- Do not add semantics just to expose styling. Custom semantics add production-facing API surface. Android’s common testing patterns guidance recommends them when standard finders and matchers make a particular item difficult to locate, not simply to make visual styling testable.
Use the test framework for the kind of UI on screen
A hybrid screen may contain both Compose components and traditional Android Views. Use ComposeTestRule to find Compose UI and Espresso to find Views; a Compose finder is not a substitute for a View lookup.
Rank #4
- YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
- LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
- MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
- NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
- BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.
UiAutomator can access Compose test tags through resource IDs when testTagsAsResourceId is configured on an appropriate ancestor. The setup and available interop APIs depend on the Compose library version, and some APIs in the Compose testing interoperability guidance are marked experimental. Check the version requirements before adopting them.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Quick Recap
Best Value
- Charger NOT Included, 6.7" Super AMOLED FHD+, 90Hz Refresh Rate, 385 ppi, 800 nits (HBM), 1080x2340px, 5000mAh Battery
- 128GB, 4GB RAM, microSDXC, Exynos 1330 (5nm), Octa-Core, Mali-G68 MP2 or Mali-G57 MC2 GPU
- Rear Camera: 50MP, f/1.8 (wide) + 5MP, f/2.2 (ultrawide) + 2MP, f/2.4 (macro), LED flash, panorama, HDR; Front Camera: 13MP, f/2.0, Android 14, up to 6 major Android upgrades, One UI 6.1
- 3G: HSDPA 850/900/1700(AWS)/1900/2100; 4G LTE: 1/2/3/4/5/7/12/13/14/20/25/26/28/29/30/38/39/40/41/48/66/71, 5G: 2/5/25/41/66/71/77/78 SA/NSA/Sub6/mmWave - Nano-SIM + eSIM
- US Model – Global Connectivity – Compatible with Most GSM Carriers like T-Mobile, AT&T, MetroPCS, etc. Will Also work with CDMA Carriers Such as Verizon, Straight Talk.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




