如何在找不到元素时使geb throw错误而不是返回EmptyNavigator

时间:2017-10-06 17:10:41

标签: geb

在我的页面对象中我有简单的方法

def clickSomething(byName) {    
    $("a.name", text: contains(byName)).click()
}

并且在执行期间它找不到必需的元素并且更进一步。

它发生的原因是,根据文档,如果找不到元素,$()将返回EmptyNavigator。

我希望测试在尝试点击null元素时因某种“ElementNotFoundException”或“NullPointerException”而失败。

我也不想为返回的元素添加额外的检查(因为我需要为每个元素标识添加它)。

是否有优雅的解决方法?

e.g。对于在“内容”中声明的元素,执行这样的检查。但是在内容块之外找到的元素的最佳实践是什么?

1 个答案:

答案 0 :(得分:0)

您遇到的问题click() not throwing an error when called on en empty navigatorfixed recently,将在下一版Geb中发布。

如果在选择器导致空导航器时需要输入错误,则可以: