gpt4 book ai didi

gradle - Geb测试DOM元素存在,然后在下一页加载中删除

转载 作者:行者123 更新时间:2023-12-03 06:11:03 25 4
gpt4 key购买 nike

我对Geb来说还很陌生,但是我面临着一个文档似乎无法解决的奇怪问题。我有一个非常简单的场景可以测试:以管理员身份登录,打开应用程序,并确认主页上出现“应用”按钮。然后关闭应用程序,并确认该按钮已从主页上消失。我可以成功地手动执行此测试,而服务器端(高速缓存方面)没有任何阻止成功的方法,但是当我通过Gradle运行测试时,它失败了,因为在“关闭”之后该按钮仍显示在主页上测试。请注意,测试还将验证配置是否已使用正确的值保存。

这是我的测试代码:

def "can open applications"(){
when:
to ManageConfigPage

and:
configFormModule.toggleApplications(true)

then:
at ManageConfigPage
assert $('#messages').text() == "Config successfully updated"
assert $('td', text: 'config.application_closed').closest('tr').find('input').value() == "0"
then:
to HomePage
assert applyButton
}


def "can close applications"(){
when:
to ManageConfigPage

and:
configFormModule.toggleApplications(false)

then:
at ManageConfigPage
assert $('#messages').text() == "Config successfully updated"
assert $('td', text: 'config.application_closed').closest('tr').find('input').value() == "1"
then:
to HomePage
assert !applyButton
}

这是applyButton的内容定义:
applyButton(cache: false, required: false){ $('#apply_button') }

我还尝试直接在测试中使用选择器,而不是在内容定义中使用选择器,但这也不起作用。

那么这是怎么回事?主页是否被完整缓存?如果是这样,如何防止或刷新它?这看起来像Geb 101,但手册并未真正解决此问题。

编辑:添加测试结果的完整性:

不满足条件:

!applyButton
||
| applyButton-SimplePageContent(所有者:HomePage,参数:[],值:null)

at AdminSpec.can close applications(AdminSpec.groovy:59)

最佳答案

按钮元素是否不包含在html中,或者只是被隐藏了?如果它是隐藏的,那么您将需要检查它是否未显示:

!applyButton.displayed

关于gradle - Geb测试DOM元素存在,然后在下一页加载中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34723976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com