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

时间:2011-07-19 15:42:54

标签: 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

有没有办法如何使用页面对象模式并获得更具描述性的故障跟踪?

2 个答案:

答案 0 :(得分:3)

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

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

感谢David&路加。

答案 1 :(得分:1)

副手,我不确定我是否对你的问题有答案。我相信我在某个时候也有类似的问题,但其他问题在一段时间后变得更加重要(比如WebDriver是一个POS)。你不会发现Stackoverflow在新的& amp;新兴的图书馆,如Geb.

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

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