Почему Behat/Mink не может найти поле ввода по идентификатору, только по имени?
Я тестирую страницу с беатом и заполняю форму. У меня есть два ввода пароля на странице 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'.
PS Изменение HTML не вариант.
1 ответ
Не проверял, но похоже, что Бехат выполняет задачу только один раз. Он понятия не имеет, что может быть два элемента с одинаковым именем. Атрибут "Имя" должен быть уникальным для одной формы. В противном случае вы будете публиковать два элемента с одинаковым именем.
Без исправления вашего HTML ничего не возможно, если вы не реализуете свой собственный тест, который преодолевает эту проблему. Теперь "пароль" является атрибутом "id" и 2x "name". Селектор должен быть уникальным.