Ні! Это мой первый вопрос.Как переключить вкладки начальной загрузки в функциональном тесте Geb в grails?
Я использую grails 3.1.7 и встроенный Spock с Geb.
Я пытаюсь переключиться между двумя вкладками начальной загрузки внутри одной и той же страницы, чтобы избежать исключения ElementNotVisibleException.
Вот код (с несколькими строками опущена):
Markup:
<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 '[email protected]', '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()
}
Попытка доступа поле "E-mail" вызывает ElementNotVisibleException.
Я также попытался добавить и удалить active класс, используя свойство jquery.
Но без результата форма по-прежнему остается невидимой для Geb.
Что я делаю неправильно? Можно ли предложить правильный способ переключения между двумя вкладками внутри отдельной страницы?
Спасибо!
Вы можете показать код? –
Добавлены несколько фрагментов кода, пытающихся опустить ненужные. –