#ruby #watir
#ruby #watir
Вопрос:
У меня есть этот ввод типа «Отправить», который Watir не может видеть. Я могу идентифицировать его по идентификатору, но он не отображается в browser.text_fields или любым другим методом идентификации. Идентификатор генерируется динамически, поэтому я не могу использовать его для тестирования. Есть идеи о том, как сделать это читаемым? При необходимости я готов изменить исходный код WATiR.
<INPUT id=t8CPm value=Submit type=submit>
Я, очевидно, пробовал text_field(:value, 'Submit')
и text_field(:type, 'Submit')
, и я получаю ошибку «Не удается найти элемент».
Ответ №1:
Вы пробовали рассматривать его как элемент button? Входные данные типа submit обычно считаются кнопкой, потому что браузер обычно отображает их таким образом.
попробуйте
browser.button(:value, 'Submit').flash
и посмотреть, работает ли это у вас
Комментарии:
1. тип ввода submit соответствует методу button
2. Если бы существовал значок «почувствуй себя настоящим дворянином», я бы получил его сегодня утром. Проблема заключалась в том, что мой код искал z-кнопки, но моя страница входа не сгенерирована на ZK, это обычный HTML, поэтому я предположил, что это не кнопка. Усвоенный урок: никогда не предполагайте. Большое спасибо, работает абсолютно нормально.
3. Рад видеть, что мой ответ был прямо на кнопке. (надеюсь, теперь за плохие каламбуры не придется получать негативную репутацию)
Ответ №2:
Я изменил INPUT_TYPES на [«text», «password», «textarea», «submit»] в классе TextField input_elements.rb и вот оно.
Вероятно, мне также следует отредактировать коллекции, чтобы прочитать тип.
Редактировать: я идиот, и мне не нужно было этого делать, но я оставляю это здесь на случай, если кто-то нуждается, чтобы выявить реальный динамический идентификатор настраиваемого типа текстового поля, а не подделка динамический идентификатор настраиваемого типа текстового поля в моем конкретном случае как «кнопка».