【问题标题】:Weak failure trace when using page object pattern with spock and geb使用带有 spock 和 geb 的页面对象模式时的弱故障跟踪
【发布时间】:2011-07-19 15:42:54
【问题描述】:

当使用 spock+geb 时,您可以通过断言来断言您在预期的页面上,例如:

assert title == 'Sign In'

如果断言失败,你会得到一个很好的失败跟踪:

Condition not satisfied:

title == 'Sign In'
|     |
Login false
      5 differences (28% similarity)
      (Lo)g(i--)n
      (Si)g(n I)n

但如果我尝试使用页面对象模式,例如:

class LoginPage extends GebPage {
    static at = { title == 'Sign In' }
}

Trace 并不能帮助解决问题:

Condition not satisfied:

at(LoginPage)
|
false

有什么方法可以使用页面对象模式并获得更多描述性的失败跟踪?

【问题讨论】:

    标签: spock geb


    【解决方案1】:

    根据geb mailing list responses,目前的解决方法是:

    static at = { assert title == 'Sign In'; true }
    

    感谢大卫和卢克。

    【讨论】:

    • 从版本 geb:0.9.0-RC-1 开始,您可以编写 static at = { assert title == 'Sign In' } 并获取描述性故障跟踪
    【解决方案2】:

    顺便说一句,我不确定我是否能回答你的问题。我相信我在某些时候也有过类似的问题,但随着时间的推移,其他问题变得更加重要(例如 WebDriver 是 POS 的事实)。当涉及到 Geb 等新兴库时,您不会发现 Stackoverflow 有多大用处。

    最好的办法是在 Geb 的邮件列表上发布消息。你可以找到它here

    Geb 的创建者 Luke Daley 通常每天都会回复消息,非常乐于助人。邮件列表非常有用,尽管此时的成员数量很少。

    【讨论】:

    • 谢谢,我的问题刚刚在邮件列表中得到了回答(见我的回答)。
    猜你喜欢
    • 2018-04-08
    • 2017-10-23
    • 2018-12-19
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    相关资源
    最近更新 更多