我在页面中有一个模拟复选框的span元素。是否“复选”这个“复选框”是通过给元素提供一些类来设置的。
在我的页面中,我有一个使用$()选择器返回此元素的方法(I.E. a Navigator实例):
class MyPage extends page {
def getCheckbox(String searchStr) {
$("div.parent").find(".class-a", text: searchStr)
}
def myFunc() {
def cb = getCheckbox("foo")
if (cb.has(".class-B") {
// checkbox is ticked. do something...
}
}
}
我正在寻找一种方法来装饰从getCheckbox()
返回的对象,以便希望检查复选框状态的客户可以cb.isChecked()
而不是更隐蔽的has(".class-B")
(IE获得与内置checkbox
表单控件模块类似的接口)
有什么建议吗? 谢谢!
答案 0 :(得分:1)
模拟span元素的复选框是成为Geb module的主要候选者 - 只需使用您希望在包装器上存在的方法定义模块类,然后将其传递给Navigator' s {用于表示span元素的导航器的{1}}方法。
答案 1 :(得分:0)
怎么样:
class CheckBoxNavigator extends NonEmptyNavigator {
def isChecked(){
return this.has(".class-B")
}
}
然后你只需要将checkBox元素定义为“CheckBoxNavigator”然后你可以使用isChecked()