gpt4 book ai didi

android - 针对不同的 Android 操作系统版本显示不同的 xpath

转载 作者:行者123 更新时间:2023-11-28 21:36:42 25 4
gpt4 key购买 nike

我正在开发原生 Android 应用程序。我需要自动化这个过程,为此我正在使用 Appium 获取元素信息,例如 xpaths 和 id 等。我的目标是在所有 android 版本的每个 android 设备上自动化这个过程,但我遇到了一个问题。我正在使用两个 Android 版本,一个是 6.0.1,另一个是 9.0,我的问题是当我连接 Android 6.0.1 时,它会显示元素的 xpath,例如

xpath = "//android.widget.EditText[@text='username']"

对于同一字段,在 Android 版本 9.0 上显示:

/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.RelativeLayout/android.widget.LinearLayout/android.webkit.WebView/android.webkit.WebView/android.view.View[5]/android.view.View[2]/android.view.View/android.view.View/android.view.View[2]/android.widget.EditText

这很难用。

为什么两个 Android 版本的 xpath 差异如此之大。此外,我在 Appium 中发现了一些异常行为,因为输入字段中的“提示”在 Android 6.0.1 中可用,但对于相同的字段,“提示”在 Android 9.0 中不可用。

最佳答案

使用 ID、类、名称或其他特定属性标识您的元素。

XPath 只能作为最后的手段使用,或者如果选择器非常复杂和/或包含动态数据。但即便如此,您通常也可以找到更强大的选择器。

关于android - 针对不同的 Android 操作系统版本显示不同的 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58076108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com