我目前正在处理一个非常简单的输入表单,其中包含各种输入元素,例如选择,文本和单选按钮。表单在发布后验证,如果未成功验证,表单将再次显示,并突出显示错误的字段。通过添加类has-error
并附加带有错误消息的div来实现突出显示。纠正错误 - 比如检查组中的一个单选按钮 - 捕获onChange
事件并删除has-error
类和div:
if ($(obj).parents('div.has-error')) {
$(obj).parents('div.has-error').removeClass('has-error');
$(obj).parents('div.has-error').find('div.help-block').remove();
}
当由"真实"执行时,它完全按照预期工作。用户。然而,当通过硒(GEB)测试执行完全相同的事情时,不检查无线电按钮。有一段时间它有#34;焦点"虚线,好像它是通过元素标记的。
因此,测试失败,因为从不检查无线电按钮。如果我删除上面提到的javascript它可以正常工作......同样如果我只删除两个语句中的一个......
测试是用GEB编写的,并使用" form-control-shortcuts"按名称设置字段的值,如:
class FormModule extends Module {
static base = { $('form#personform') }
static content = {
personskoen { "person.koen"().module(RadioButtons) }
}
}
class OpretPersonPage extends Page {
static url = "person/opret"
static at = { title.contains("person.opret.titel") }
static content = {
form { module FormModule }
}
}
这个值在测试中设置如下:
def () {
given:
at OpretPersonPage
when:
page.form.persoenskoen = "KVINDE"
then:
page.form.persoenskoen == "KVINDE"
}
我完全陷入困境,没有进一步的想法来测试。我真的希望你们有一些!
我正在使用:
org.seleniumhq.selenium:selenium-firefox-driver:2.52.0
org.seleniumhq.selenium:selenium-support:2.52.0
org.seleniumhq.selenium:selenium-server:2.52.0