【发布时间】:2017-06-25 19:46:52
【问题描述】:
我正忙于在 Geb/Spock 中进行 e2e 测试,我想知道如何添加自定义消息。 现在我只得到这样的堆栈跟踪:
geb.error.RequiredPageContentNotPresent: The required page content 'pages.patientConversation.PcModal -> contact: geb.navigator.EmptyNavigator' is not present
at geb.content.TemplateDerivedPageContent.require(TemplateDerivedPageContent.groovy:60)
at geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy:63)
at geb.content.PageContentTemplate.create_closure1(PageContentTemplate.groovy)
等等……
这是我的测试示例:
def "allow for searching contacts"() {
when:
to LoginPage
login(emailAddress, defaultPassword)
then:
at QuickBar
when:
startButton.click()
then:
at Modal
when:
selectContactButton.click()
contactSearchField.value(context.pcUser2.surname)
then: "the contact is shown in the search results"
contact.isDisplayed()
}
我认为错误消息中会出现“联系人显示在搜索结果中”的文本,但显然没有。在 Geb of Spock 中是否有其他方式可以打印自定义消息以提高清晰度?
特别是对于'at checkers',我希望有自定义消息,因为当 at 检查失败时,您只会得到:
java.lang.NoSuchMethodError: geb.error.GebAssertionError.<init>(Ljava/lang/Object;Ljava/lang/Throwable;)V
at geb.waiting.WaitTimeoutException.<init>
等
编辑: 嗯,我现在意识到,测试失败了,因为它还在执行“then”之前检查所需的页面内容。我仍然希望能够添加自定义消息(特别是对于'at checkers')......有人知道这是否可能吗?
【问题讨论】: