2013-03-14 3 views
0

Я пишу тесты Selenium и должен проверить, правильно ли javascript устанавливает текст в определенных полях.Как проверить правильный текст, который был введен в поле с помощью Webdriver?

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

test = WebDriverWait(self.ff, 10).until(lambda driver : driver.find_element_by_xpath("//input[@id='id_testText']")) 
assert test.text == u'TEST' 

Но test.text никогда не получает значение.

Я могу .clear() его, а также .send_keys() ему, но даже с этим я не могу получить значение. Итак, где я ошибаюсь, пытаясь проверить его ценность?

ответ

3

Зачем использовать wait, чтобы получить webelement? Во всяком случае

test = WebDriverWait(self.ff, 10).until(lambda driver : driver.find_element_by_xpath("//input[@id='id_testText']")) 
text = test.get_attribute('value') 
assert text == u'TEST' 
+0

Ожидания в основном из-за того, что я копирую/вставляю все свои тесты, и именно поэтому я изначально установил настройки из-за проблем с синхронизацией в старом приложении. –

+0

Помогает ли это бороться с StaleElementReferenceException? Если это так, вы просто решили главный вопрос о жизни моего QA :) –

+0

Боюсь, что я недавно не встречал это исключение в своем тестировании, которое я помню. Это не влияет на время выполнения и помогает, когда вещи занимают немного больше времени для загрузки и т. Д. –

Смежные вопросы