Селен:Как использовать JavaScript для очистки значения из поля формы?
-
06-07-2019 - |
Вопрос
Я использую Selenium IDE и приспособление Selenium-Fitnesse Bridge и пытаюсь проверить, что когда я удаляю значение по умолчанию из поля формы, моя форма отображает сообщение об ошибке.
Поэтому, когда я записываю с помощью Selenium IDE, это эквивалентно тому, что я говорю Selenium ничего не вводить.
| type | text_field | |
Проблема в том, что прибор Fitnesse, который я использую, ожидает, что второй аргумент не будет нулевым.
Есть ли в Selenium способ «очистить значение», а не «ничего не вводить»?
Решение 2
Я использовал это, чтобы заставить его работать. reg_start_date
- это идентификатор моего поля ввода.
| storeEval | window.document.getElementById('reg_start_date').value = '' |
Из ссылки на селен:
Обратите внимание, что по умолчанию фрагмент будет выполняться в контексте " селена " сам объект, поэтому
this
будет ссылаться на объект Selenium. Используйтеwindow
для обращения к окну вашего приложения, например, <Код> window.document.getElementById ( 'Foo') код> р>
Кроме того, избегайте переноса кода javascript с помощью javascript {}, он не будет работать.
Другие советы
Вы можете сделать это через JavaScript как таковой:
| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} ||
По сути, оператор verifyEval позволяет вам выполнять любой фрагмент JavaScript, который вы хотите. Делает некоторые сложные проблемы с Selenium намного проще.
Я использовал этот учебник (верьте сегодня или нет), чтобы понять вещи из.
У нас тоже была эта проблема в начале.Пытаться:| Тип | text_field | пусто |
Дополнительную информацию об использовании пробелов и нулей можно найти в документации Fitnesse.
:)