断言使用GEB在dom中不存在元素

问题描述 投票:0回答:1

我正在尝试根据谁登录来验证页面。某些用户具有更高的安全性,并且会在页面上看到更多项目。当安全性较低的用户登录时,他们将看不到选项。我需要验证页面上没有这些选项。

我有一个基于用户安全性显示的选项的页面对象

testObject {$("#test")}

我尝试过使用isDisplayed()

boolean hidden =  testObject.isDisplayed()
assert !hidden

但我不断收到错误消息

geb.error.RequiredPageContentNotPresent:所需的页面内容geb.navigator.EmptyNavigator'不存在

错误消息是我想要验证的。该对象不存在,我需要验证是否为真并通过测试。

selenium geb
1个回答
3
投票

您想对内容元素使用required选项。

如果页面是动态的,也许您还需要等待一段时间才能让Geb确定该元素为空。检查元素是否存在可能很棘手,因为它们可能只是通过,因为动态元素还没有完成加载。

testObject(required: false, wait: 2) { $("#test") }

在您的Geb测试中,您只需执行此操作(无需辅助方法):

given:
def page = to MyPage

expect:
page.testObject.empty
© www.soinside.com 2019 - 2024. All rights reserved.