在我的页面对象中我有简单的方法
def clickSomething(byName) {
$("a.name", text: contains(byName)).click()
}
并且在执行期间它找不到必需的元素并且更进一步。
它发生的原因是,根据文档,如果找不到元素,$()将返回EmptyNavigator。
我希望测试在尝试点击null元素时因某种“ElementNotFoundException”或“NullPointerException”而失败。
我也不想为返回的元素添加额外的检查(因为我需要为每个元素标识添加它)。
是否有优雅的解决方法?
e.g。对于在“内容”中声明的元素,执行这样的检查。但是在内容块之外找到的元素的最佳实践是什么?
答案 0 :(得分:0)
您遇到的问题click()
not throwing an error when called on en empty navigator已fixed recently,将在下一版Geb中发布。
如果在选择器导致空导航器时需要输入错误,则可以:
required
template option设置为true,这是默认值verifyNotEmpty()