我正在使用geb-spock。我试图验证页面类的内容,在页面本身,以便我只是调用变量或函数。使用功能。我做了类似的事情
class BasePage extends Page {
static content = {
verifyheader { withFrame ("myFrame") { assert $("h1").text() == "Header1" }
}
}
}
...
then:
to BasePage
and:
verifyheader
我收到测试失败且withFrame为null的错误。 当我将withFrame放入测试用例
时,这不会出现
then:
to BasePage
and:
withFrame('myFrame') {...}
这非常有效,但我希望在页面类中使用它。可能吗?我该怎么办呢?或换句话说,我的代码有什么问题
答案 0 :(得分:4)
是的,内容定义中的class BasePage extends Page {
static content = {
headerText { withFrame("myFrame") { $("h1").text() } }
}
}
调用返回null,因为传递给它的块内的最后一个语句是一个始终返回null的断言。您不应该在内容定义中声明,而是在测试中声明:
when:
to BasePage
then:
headerText == "Header1"
和
def function(L,f,g):
newL = list()
for i in L:
if g(f(i)) == True:
newL.append(i)
L[:] = newL
if len(L) == 0:
return -1
else:
return max(L)
def f(i):
return i + 2
def g(i):
return i > 5
L = [0, -10, 5, 6, -4]
print(function(L, f,g))
print(L)