Селен: Как я могу использовать JavaScript, чтобы очистить значение из поля формы? - PullRequest
2 голосов
/ 09 января 2009

Я использую IDE Селена и прибор Selenium-Fitnesse Bridge и пытаюсь проверить, что при удалении значения по умолчанию из поля формы в моей форме отображается сообщение об ошибке.

Итак, когда я записываю с помощью Selenium IDE, то, что он делает, это то же самое, что сказать Selenium ничего не печатать.

| type | text_field |  |

Проблема в том, что используемый мной прибор Fitnesse ожидает, что второй аргумент не будет нулевым.

Есть ли в Selenium способ "очистить значение" вместо "ничего не печатать"?

Ответы [ 3 ]

6 голосов
/ 09 января 2009

Вы можете сделать это с помощью javascript следующим образом:

| verifyEval | javascript{this.browserbot.getCurrentWindow().document.getElementById('CONTROL_ID').value = ''} || 

По сути, оператор verifyEval позволяет вам выполнять любой фрагмент JavaScript, который вы хотите. Упрощает некоторые сложные задачи, которые можно решить с помощью Selenium.

Я использовал этот урок (сегодня верьте или нет), чтобы разобраться.

3 голосов
/ 17 февраля 2009

Я использовал это, чтобы заставить его работать. reg_start_date - это идентификатор моего поля ввода.

| storeEval | window.document.getElementById('reg_start_date').value = '' |

Из ссылки на селен:

Обратите внимание, что по умолчанию фрагмент будет выполняться в контексте самого объекта "селен", поэтому this будет ссылаться на объект Selenium. Используйте window для обращения к окну вашего приложения, например, window.document.getElementById('foo')

Кроме того, избегайте переноса кода javascript с помощью javascript {}, он не будет работать.

1 голос
/ 27 октября 2009

У нас тоже была эта проблема в начале. Попробуйте: | тип | текстовое поле | пусто |

Для получения дополнительной информации по документации Fitnesse по использованию пробела и нуля.

:)

...