首页 > 解决方案 > Android XPath 索引问题

问题描述

对 Android 测试非常陌生。
我遇到了这个 Xpath

xpath: (//android.widget.ImageView[1])[3]

我知道在 ImageView 1中, “1”是元素的索引。
这里的[3]是什么???

更新:

我正在运行测试(移动应用程序)。上面的 XPath 是点击 Bell 图标。
它确实完美地点击了铃铛图标。
但是今天当我运行我的测试时,它没有点击 Bell 图标,而是点击了用户个人资料图片。

在此处输入图像描述

使用 appium,我发现 Bell 图标的 xpath 如下:

xpath: /hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[1]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ImageView

现在,当我使用这个新的 xpath 时,会单击 Bell 图标。

两个Xpath都一样吗?
为什么这个新的 xpath 这么长?有没有办法缩短这个?
任何形式的帮助真的很感激!!!

标签: javaandroidtestingxpathappium

解决方案


该表达式//android.widget.ImageView[1]选择android.widget.ImageView其父项的第一个子项。这通常会选择一组节点。选择该[3]集合中的第三个节点。


推荐阅读