Селен:Как использовать JavaScript для очистки значения из поля формы?

StackOverflow https://stackoverflow.com/questions/429251

Вопрос

Я использую 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.

:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top