Selenium/Java - 不可点击的 XPATH

Posted

技术标签:

【中文标题】Selenium/Java - 不可点击的 XPATH【英文标题】:Selenium/Java - Unclickable XPATH 【发布时间】:2021-06-09 22:44:36 【问题描述】:

我有要自动化的应用程序,并且有一个 XPATH 在自动化测试中不可点击。 Appium 说它是可见和可点击的,但测试运行说:不。

我试过了,还是不行:

@FindBy(how = How.XPATH, using = "//android.view.View[@content-desc=\"Benachrichtigung WIll's Haus Entfernung 0 km Deine Reichweite 0.0 km Zu gehen 0.0 km\"]/android.widget.ImageView[18]")
    public WebElement clickIt;

还有其他方法可以点击吗?

Appium SShot

【问题讨论】:

您是否遇到错误,或者只是没有看到您期望的点击操作? 它是什么元素? 【参考方案1】:

您收到了一个警告,说明准确:

不建议使用 XPath 定位器,这会导致测试脆弱。请您的开发团队改为提供独特的可访问性定位器!

查看类似的issue。

【讨论】:

问题不在于 xpath... 而在于 BAD xpath.. 在 xpath 中使用索引位置是个坏主意。它仍然是有效的 xpath 语法,并且可以在任何 xpath 引擎上正常工作,但将来可能会有风险。当有人在xml开头添加新元素时,xpath会返回错误的值。 那是糟糕的 xpath。滥用工具并不会使整个工具变坏。不稳定的选择器在任何方法(css、xpath...)中都是不稳定的

以上是关于Selenium/Java - 不可点击的 XPATH的主要内容,如果未能解决你的问题,请参考以下文章

检查 Selenium Java 中的元素是不是可点击

Selenium2(java)TestNG的使用 七

Selenium+java - Ajax浮动框处理

selenium java maven 自动化测试 页面元素获取与操作

Selenium2(java)selenium常用API 四

Selenium2+Java自动化-启动浏览器