2014-12-04 3 views
0

Я тестирую страницу с формой и заполнением. У меня есть два ввода пароля на странице html.Почему Behat/Mink не могут найти поле ввода по ID, только по имени?

Первый находится на вершине:

<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 тест/норка с:

And I fill in "password" with "test" 

Он заполняет первый и я необходимо заполнить второй.

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

P.S. Изменение HTML не является вариантом.

ответ

0

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

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