Я только начинаю работать с Cucumber и Webrat и добавляю спецификации функций в существующее приложение Rails. На одной странице приложения есть несколько форм, представляющих различные способы создания нового объекта Character. Вот упрощенный пример:
<form id="adopt_character_form">
....
<input type="text" name="character[name]" id="character_name">
...
</form>
<form id="spawn_character_form">
....
<input type="text" name="character[name]" id="character_name">
...
</form>
Как видите, на странице есть (как минимум) два поля с одинаковыми именами и идентификаторами, хотя они в разных формах, и я не могу найти способ в RDOC или исходном коде Webrat укажите конкретный.
Я знаю, что мог бы изменить имя или идентификатор одного из них, но для этого мне пришлось бы отклониться от соглашений об именах Rails, чего я бы на самом деле не хотел. Я мог бы также разместить формы на разных страницах, но это потребовало бы большего изменения рабочего процесса, чем я хочу сделать. Я также мог бы попытаться объединить их в единую форму, которая была бы более модульной и динамичной, но необходимость вносить структурные изменения в пользовательский интерфейс только для поддержки конкретной среды тестирования кажется немного сомнительной и не всегда возможной, плюс я бы требовать JavaScript.
Есть ли способ указать одно из этих полей в Webrat, или я должен просто сдаться и попробовать Cucumber в другом проекте?