使用带有spock和geb的页面对象模式时的弱失败跟踪



当使用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

是否有办法使用页面对象模式并获得更多描述性失败跟踪?

根据geb邮件列表的响应,当前的解决方案是:

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

感谢David &卢克。

我不确定我是否有你问题的答案。我相信我在某个时候也有类似的问题,但其他问题随着时间的推移变得更加重要(例如WebDriver是POS的事实)。当涉及到新的&新兴的库,如Geb。

你最好的选择是在Geb的邮件列表上发布消息。你可以在这里找到。

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

最新更新