После небольшой помощи здесь я пишу функциональный веб-тест с использованием Geb и хочу проверить значение атрибута disabled кнопки отправки формы как до, так и после того, как произошло событие, поток должен быть таким, как следует:
- Страница загрузки, кнопка отправки объявлена как отключенная в источнике страницы, поэтому должна быть отключена, например.
<input type="submit" class="submit" disabled="true"/>
. - Установите флажок на странице, это должно привести к выполнению фрагмента кода JQuery, который включит отключенную кнопку отправки программно, используя:
$('input.submit').attr('disabled', false);
Моя первая попытка состояла в том, чтобы использовать утверждение $('input.submit').@disabled == 'true'
, это, похоже, сработало для начальной проверки после загрузки страницы, однако после выполнения моего кода JQuery для включения кнопки последующая проверка по-прежнему возвращает тот же результат. Это заставило меня задуматься, может ли этот вид проверки сообщать значение только во время загрузки страницы и не видит никаких последующих программных изменений?
Затем я обнаружил итерацию jquery Geb, я надеялся, что смогу использовать ее, чтобы вернуть значение кнопки отправки и сделать свое утверждение на этом, например. $('input.submit').jquery.attr('disabled') == false
однако документация Geb подтверждает, что все вызовы свойства .jquery
возвращают экземпляр Geb Navigator, поэтому, к сожалению, я не думаю, что могу вернуть нужную мне информацию.
Я также сомневался, действительно ли код JQuery переключает отключенное состояние кнопки отправки, я тщательно протестировал это с помощью Firebug и могу подтвердить, что это отлично работает в браузере, поэтому я подозреваю, что это либо проблема с моим пониманием Geb, либо возможно ограничение самого Геба?
Мне кажется, что проверка значения атрибутов элемента после выполнения какого-либо действия на странице может быть обычным вариантом использования, поэтому я скорее надеюсь, что пропустил какой-то тривиально простой способ сделать это. Был бы очень признателен за любые указатели, которые помогут мне разобраться в этом.
Ваше здоровье,
Эдд