# UiAutomator

Published articles for UiAutomator.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Demystifying Maestro's UI Testing Implementation

DevFeed: [Demystifying Maestro's UI Testing Implementation](<https://devfeed.tech/articles/demystifying-maestro-s-ui-testing-implementation-25128.md>)

Original publisher: [Read original article](<https://handstandsam.com/2024/11/18/demystifying-maestros-ui-testing-implementation/>)

Author: Sam Edwards

Published: 2024-11-18T13:59:04Z

Content type: article

Language: en

Sources: [Handstand Sam](<https://devfeed.tech/sources/handstand-sam.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [android-testing](<https://devfeed.tech/tags/android-testing.md>), [code](<https://devfeed.tech/tags/code.md>), [format](<https://devfeed.tech/tags/format.md>), [git](<https://devfeed.tech/tags/git.md>), [library](<https://devfeed.tech/tags/library.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [on-device](<https://devfeed.tech/tags/on-device.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [server](<https://devfeed.tech/tags/server.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [uiautomator](<https://devfeed.tech/tags/uiautomator.md>), [updates](<https://devfeed.tech/tags/updates.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

This technical post examines how Maestro implements UI testing. It describes its YAML-based test commands, CLI-installed APKs, an on-device Netty gRPC server, UiAutomator view-hierarchy access, XML serialization, and UI interactions.

### Source excerpt

I first heard about Maestro when it was released in 2022, but I haven't played with it until now. I'm doing some work with Espresso and UiAutomator for Android testing and was curious how Maestro worked under the hood, so I cloned their git repo and dove into the code. This quick post shares what [...]

## Get access to string resources in UiAutomator

DevFeed: [Get access to string resources in UiAutomator](<https://devfeed.tech/articles/get-access-to-string-resources-in-uiautomator-24845.md>)

Original publisher: [Read original article](<https://alexzh.com/get-access-to-string-resources-in-uiautomator/>)

Author: Alex Zhukovich

Published: 2023-03-24T17:21:14Z

Content type: tutorial

Language: en

Sources: [Alex Zhuk - Android development and testing](<https://devfeed.tech/sources/alex-zhuk-android-development-and-testing.md>)

Topics: [Localization (l10n)](<https://devfeed.tech/topics/localization.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [article](<https://devfeed.tech/tags/article.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [locale](<https://devfeed.tech/tags/locale.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [os](<https://devfeed.tech/tags/os.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [uiautomator](<https://devfeed.tech/tags/uiautomator.md>)

### AI overview

This tutorial explains how to access application string resources from UiAutomator test cases. It presents an approach using application context and resource identifiers so tests can reuse localized strings instead of hard-coded values.

### Source excerpt

This article explains how to access string resources in UiAutomator test cases.

## UI tests with Jetpack Compose and Appium x UIAutomator

DevFeed: [UI tests with Jetpack Compose and Appium x UIAutomator](<https://devfeed.tech/articles/ui-tests-with-jetpack-compose-and-appium-x-uiautomator-25941.md>)

Original publisher: [Read original article](<https://juliensalvi.medium.com/ui-tests-with-jetpack-compose-and-appium-x-uiautomator-5d276fb655aa?source=rss-cbfc736ddcd3------2>)

Author: Julien Salvi

Published: 2022-12-05T13:01:16Z

Content type: tutorial

Language: en

Sources: [Stories by Julien Salvi on Medium](<https://devfeed.tech/sources/stories-by-julien-salvi-on-medium.md>)

Topics: [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [appium](<https://devfeed.tech/tags/appium.md>), [compose](<https://devfeed.tech/tags/compose.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [uiautomator](<https://devfeed.tech/tags/uiautomator.md>)

### AI overview

This tutorial explains how Aircall adapted Android UI automation tests when migrating from View-based components to Jetpack Compose. It describes using Compose semantics and testTag values mapped to resource IDs, then locating the resulting components with UiSelector in Appium and UIAutomator.

### Source excerpt

At Aircall we are pushing a lot around quality thanks to our great QA team. Huge efforts are put on Android developer side with the unit tests and our QA engineers tackle everything around automation & UI tests. Before integrating our brand new design system made with Compose UI in production, we wanted to be sure that the transition to Compose would be painless with our automation framework and tools: Appium and UIAutomator. This article will explain how the Android team validated the move to Compose with our automation framework. Automation tests with View components The Aircall QA team has developed lots of automation tests that cover more than 90% of the use cases in the Android app. And to do so, they rely on Appium with the UI testing framework UIAutomator which is an instrumentation-based API and works with the AndroidJUnitRunner test runner. To locate a View-based component in the application, UIAutomator provides an annotation @AndroidFindBy where you need to specify the resource id of a UI element you want to identify. @AndroidFindBy(id = "myButtonId") protected WebElement myButton; But this method does work properly with Compose UI components. Indeed, when looking for a Composable with its dedicated tag, no elements are found in the screen. Now, let's have a closer look at the changes we had to make in order to smoothly add our new Compose code in the current codebase and not breaking everything on the automation side. UI tests with Compose UI and UIAutomator To unlock the UI testing with UIAutomator and Compose, we will have to take advantage of the semantics Modifier in each Composable we want to locate with the testTag property. In order to ease the migration, we are going to keep the same component IDs we were using with our View-based elements. Modifier.semantics { testTag = "myButtonId" } And at the top level Composable, we should toggle the configuration to map testTags to the resource IDs in the semantics Modifier. This will allow the automation f

## An introduction to snapshot testing on Android in 2021 📸

DevFeed: [An introduction to snapshot testing on Android in 2021 📸](<https://devfeed.tech/articles/an-introduction-to-snapshot-testing-on-android-in-2021-25686.md>)

Original publisher: [Read original article](<https://sergiosastre.hashnode.dev/an-introduction-to-snapshot-testing-on-android-in-2021>)

Author: Sergio Sastre Florez

Published: 2021-08-09T20:07:20Z

Content type: tutorial

Language: en

Sources: [Sergio's little tech corner](<https://devfeed.tech/sources/sergio-s-little-tech-corner.md>)

Topics: [screenshot-testing](<https://devfeed.tech/topics/screenshot-testing.md>), [Android](<https://devfeed.tech/topics/android.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [espresso](<https://devfeed.tech/tags/espresso.md>), [introduction](<https://devfeed.tech/tags/introduction.md>), [screenshot-testing](<https://devfeed.tech/tags/screenshot-testing.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [uiautomator](<https://devfeed.tech/tags/uiautomator.md>)

### AI overview

This introduction explains snapshot testing on Android, also known as screenshot testing. It describes how snapshot tests compare rendered views with stored reference images, how they complement interaction-focused UI tests, and how they can detect visual regressions across commits.

### Source excerpt

Snapshot testing (also called screenshot testing) has been in the Android world for a while, since 8th October 2015, when Facebook open sourced the first version of their snapshot testing library. They are a special type of UI tests that inflate a vi...