在用GEB做自动化测试时,跳转到一个新页面往往会用at语法,例如在一个SchoolAddPage.groovy里:
class SchoolAddPage extends Page{
static at = {
$('.box-title').text() == "添加英语天地"
}
}
运行程序时往往会出现如下的错误信息,详细如下。这时别怀疑你是不是选错了对象或者判断出错,也有可能是程序运行太快。可以修改成:
static at = {
waitFor() { $('.box-title').text() == "添加英语天地" }
}
也许就能解决问题
geb.error.UnexpectedPageException: At checker page verification failed for page page.SchoolAddPage
at geb.navigator.NonEmptyNavigator.click(NonEmptyNavigator.groovy:492)
at geb.navigator.NonEmptyNavigator.click(NonEmptyNavigator.groovy:469)
at geb.content.TemplateDerivedPageContent.click(TemplateDerivedPageContent.groovy:71)
SchoolManageSpec.to add a school page(SchoolManageSpec.groovy:59)
Caused by: Assertion failed:
$('.box-title').text() == "添加英语天地"
| | |
[] null false
at page.SchoolAddPage._clinit__closure2(SchoolAddPage.groovy:8)
at cn.com.nd.school.page.SchoolAddPage._clinit__closure2(SchoolAddPage.groovy)
at geb.Page.verifyThisPageAtOnly(Page.groovy:228)
at geb.Page.verifyAt(Page.groovy:182)
at geb.Browser.methodMissing(Browser.groovy:206)
at geb.navigator.NonEmptyNavigator.click(NonEmptyNavigator.groovy:481)
... 3 more
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。