java - 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 这么长?有没有办法缩短这个?
任何形式的帮助真的很感激!!!
解决方案
该表达式//android.widget.ImageView[1]
选择android.widget.ImageView
其父项的第一个子项。这通常会选择一组节点。选择该[3]
集合中的第三个节点。
推荐阅读
- visual-studio-code - VSCode webviews 是否支持 Web Workers?
- android - 通过一组文档 ID (Kotlin) 从 firebase 获取文档
- jquery - jQuery 代码在选中复选框时有效,但在未选中时无效
- flutter - 扑向未来
- github - github 见解:如何查找特定分支的提交
- javascript - 如何阻止多边形在javascript中的两个移动圆之间绘制
- python - 将 Scrapy spider 中的数据分配给变量
- python - Telethon 斜体格式不适用于列表的最后一项
- arrays - 向数组添加哈希 (Perl)
- r - 分组行 (ID),然后为每个组 ID 分配一个处理