Почему Behat/Mink не может найти поле ввода по ID, только по имени?

Я тестирую страницу с поведением и формой заполнения. У меня есть два ввода пароля на странице html.

Первый сверху:

<input id="login_password_0" class="form-control " type="password" placeholder="Slaptažodis" autocomplete="off" name="password">

Второй снизу:

<input id="password" class="form-control validate" type="password" value="" name="password">

Затем я запускаю тест behat/mink с помощью:

And I fill in "password" with "test"

Он заполняет первый, и мне нужно заполнить второй.

Как понять документацию, этот элемент можно найти и заполнить по 'id|name|label|value'.

P.S. Изменение HTML не вариант.


person Safas    schedule 04.12.2014    source источник


Ответы (1)


Не проверял, но похоже, что Бехат выполняет задачу только один раз. Он понятия не имеет, что могут быть два элемента с одинаковыми именами. Атрибут «Имя» должен быть уникальным для одной формы. В противном случае вы будете публиковать два элемента с одинаковым именем.

Без исправления вашего HTML ничего невозможно, если вы не реализуете свой собственный тест, который преодолевает эту проблему. Теперь «пароль» является атрибутом «id» и 2x «name». Селектор должен быть уникальным.

person Audrius Jankauskas    schedule 04.12.2014