如何从 uiautomator 获取 android 设备的正确资源 ID?

问题描述

我对 uiautomator 中的资源 ID 有疑问:

btn="id:/image_button_cancel"

为什么有时我们加“.*”是什么意思?

btn="id:/image_button_cancel.*"

解决方法

我没有完全明白你的问题。能详细点吗?

.* 用于通过正则匹配resourceId。

所以 id:/image_button_cancel.* 意味着它将匹配任何以 id:/image_button_cancel

开头的 resourceId

例如,

id:/image_button_cancel_1

id:/image_button_cancelQuick

像这样...

,

这是一个正则表达式。点表示任何字符,星号表示零次或多次重复。

因此,使用 btn="id:/image_button_cancel.*" 将匹配以“id:/image_button_cancel”开头的任何资源 ID。

示例(匹配的 ID):

id:/image_button_cancel
id:/image_button_cancel_action

示例(ID 不匹配):

id:/cancel
id:/image_button

搜索正则表达式以更好地理解它。