2015-07-13 8 views
2

Просто небольшое разъяснение при использовании Geb text() vs value().Geb: text() vs value()

Согласно документации Геба:

Текст значение обрабатывается особым образом в матче против текста узла.

И значение():

Вызов значение() без аргументов возвращает строковое значение первого элемента в навигаторе.

Из моего понимания посредством проб и ошибок текст() может использоваться для проверки/установки текстового содержимого в конкретном элементе, элементы формы EXCEPT. Значение() используется для проверки/установки содержимого элемента формы.

assertThat($("h1").text()).isEqualTo("Geb")  // will work 
assertThat($("input").value()).isEqualTo("Geb") // will work 
assertThat($("input").text()).isEqualTo("Geb") // will not work 

Это правильно? Или существует большая дифференциация? Я не мог найти существенного описания в документации.

Заранее благодарен!

ответ

4

Вы не можете использовать text() для установки всего, он возвращает только текстовое содержимое первого элемента. Он в основном делегирует WebElement.getText().

Текста цитирует:

Текст значения обрабатывается особым образом в матче против текста узла.

Относится к использованию селектора атрибутов типа `$ (" div ", текст:" Lorem ipsum ... ").

И да, value() и value(Object) могут использоваться для извлечения и установки значения/текста ввода.