非常新的android测试。
我遇到了这个问题
xpath: (//android.widget.ImageView[1])[3]
我知道在imageview1中,“1”是元素的索引。
这里是什么???
更新:
我正在运行一个测试(移动应用程序)。上面的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这么长?有没有办法缩短这个时间??
感谢您的帮助!!!
3条答案
按热度按时间vohkndzv1#
表达式
//android.widget.ImageView[1]
选择每android.widget.ImageView
那是它父母的第一个孩子。这通常会选择一组节点。这个[3]
选择此集中的第三个节点。au9on6nz2#
您将使用appium(上面已经提到)获得绝对xpath,而您正在使用的appium类似于//android.widget.imageview[1])[3]是图标的相对xpath。
绝对xpath:它是从根元素到特定元素的路径。相对xpath:元素的引用路径或元素的特定路径。
b1uwtaje3#
尝试使用类名访问贝尔按钮。
(//*[@class=“class name”])[2]