2012-02-29 2 views
5

У меня есть текстовое поле, которое отображает текст заполнителя, когда текстовое поле не находится в фокусе. Когда фокус смещается в это текстовое поле (помещая курсор в текстовое поле), текст заполнителя исчезает, и курсор появляется в текстовом поле. Я пытаюсь автоматизировать сценарий, который подтверждает это поведение. Кто-нибудь когда-либо пытался автоматизировать подобный сценарий? Мы ценим любые предложения. СпасибоПроверка текста заполнителя с использованием Selenium Webdriver

ответ

1

Я сделал аналогичные тесты. Для наших полей с текстом-заполнителем текст появляется в атрибуте placeholder для элемента. В Ruby мы используем следующий код:

element = @driver.find_element(*<locator string>*) 
expected_placeholder_text = element.attribute('placeholder') 

Это дает нам строку, которую мы сравниваем, как и любая другая строка. Вы можете также сократить вызов element.attribute быть

element['placeholder'] 

как хорошо, но мы предпочитаем бывшие (для не имеющих отношений и совершенно случайных причин).

+0

Это не дает ответа на вопрос о том, как проверить реальное поведение. Вы просто предполагаете, что заполнитель HTML5 заставит браузер вести себя правильно. – scott77777

+3

И если вы не находитесь в команде разработчиков браузеров, почему вам нужно убедиться, что браузер правильно делает то, что он говорит? Что бы вы и ваша команда делали с сообщением об ошибке для браузера, который не делал то, что он сказал? С другой точки зрения, если у вас есть автоматизированный тест, который проверяет атрибут placeholder и как ожидается в вашем коде приложения, сколько времени потребуется, чтобы запустить браузер вручную один раз за версию и убедиться, что текст появляется? Не могли бы вы построить и поддерживать автоматизацию за меньшее время? –

4

Вы можете получить текст заполнителя, используя метод webdriver getAttribute.

HTML-:

<input id="<ur id>" class="<ur class name>" type="password" lang="en" maxlength="30" placeholder="Enter Password" data-label="passwordPlaceholder" tabindex="5"> 

Java-код:

String password=driver.findElement(By.cssSelector("ur css path")).getAttribute("placeholder"); 
Смежные вопросы