【发布时间】:2018-01-11 02:55:31
【问题描述】:
使用 dexguard 混淆 apk 后,元素资源 ID 在 uiautomator 工具中不可见。
dexguard 发布版本可以用于自动化吗? 如何为 dexguard 发布版本保留元素资源 ID?
【问题讨论】:
标签: android automation appium android-uiautomator dexguard
使用 dexguard 混淆 apk 后,元素资源 ID 在 uiautomator 工具中不可见。
dexguard 发布版本可以用于自动化吗? 如何为 dexguard 发布版本保留元素资源 ID?
【问题讨论】:
标签: android automation appium android-uiautomator dexguard
-keepresources id/** 成功了。
【讨论】:
是的。我已经自动化了许多应用程序,这些应用程序几乎没有资源 ID。即使是那些确实使用资源 ID 的人也要记住,与 HTML 不同,它们并不总是唯一的 - 无论如何,许多元素都可以包含相同的资源 ID。
如果我获得了资源 ID,并且我仔细检查了页面元素并发现该 ID 是唯一的,我会经常使用它。在我看来,使用 XPaths 可以更一致地找到元素,这允许更详细的定位器。
通常情况下,我会做类似的事情
"//android.widget.TextView[@text='whatever']
或进一步:
"//android.widget.TextView[@text='whatever' and @index=1]"
【讨论】: