【发布时间】:2016-11-05 13:41:42
【问题描述】:
Ні!这是我的第一个问题。
我正在使用 grails 3.1.7 并使用 Geb 内置 Spock。
我正在尝试在同一页面内的两个引导选项卡之间切换以避免 ElementNotVisibleException。
这是一些代码(省略了几行):
标记:
<ul class="nav nav-tabs">
<li class="${registerActive ? '' : 'active'}"><a data-toggle="tab" href="#login">...</a></li>
<li class="${registerActive ? 'active' : ''}"><a id="registerTab" data-toggle="tab" href="#register">...</a></li>
</ul>
<div class="tab-content">
<div id="login" class="tab-pane fade ${registerActive ? '' : 'in active'}">
<g:form ...>
<div>
<g:field type="email" name="username" />
</div>
...
</g:form>
</div>
<div id="register" class="tab-pane fade ${registerActive ? 'in active' : ''}">
<g:form ...>
<div>
<g:field type="email" name="email"/>
</div>
...
</g:form>
</div>
</div>
测试:
void "register"() {
when:"user logged in"
register 'testUser@gmail.com', 'passW0rd!' ...
then: ...
}
private register(String email, String password ...) {
go "/"
$('#registerTab').click()
$('input[name=email]').value(email)
$('input[name=password]').value(password)
...
$('input[name=register]').click()
}
尝试访问“电子邮件”字段会导致 ElementNotVisibleException。
我还尝试使用 jquery 属性添加和删除 active 类。
但是没有结果,Geb 仍然看不到该表单。
我做错了什么?有人可以建议在不同页面内的两个选项卡之间切换的正确方法吗?
谢谢!
【问题讨论】:
-
你能显示一些代码吗?
-
添加了几段代码,试图省略不必要的代码。
标签: grails functional-testing spock geb