2015-03-23 7 views
1

Я хотел бы понять, как Selenium оценивает страницу.Selenium оценивает DOM или видимые элементы

У меня есть набор тестов для проверки элементов на странице. Написано Nunit, Selenium и PhantomJS в качестве драйвера.

Page.Visit(); 

Page.FindElement (By.Id ("TestID") Text.Should() NotBeNull();... // ПРОХОД Page.FindElement (By.Id ("TestID") Text.Should() .NotBeEmpty(); // НЕ пЕРЕДАТЬ

тест не проходит, если размер окна браузера установлен очень маленький:

driver.Manage().Window.Size = new Size(10,10); 

на основании этого теста, это заблуждение хау PhantomJS оценивает Я всегда думал, что он проверяет DOM, но похоже, что для элемента TEXT он оценивается на основе видимости!

ответ

1

Хотя это меня тоже удивило, когда я впервые обнаружил его, Selenium найдет только элементы, видимые в окне просмотра браузера. По этой причине вы захотите в начале ваших тестов убедиться, что окно просмотра вашего браузера достаточно велико, чтобы разместить контент вашего приложения.

Обычно это можно сделать, максимизировав окно браузера. Если вы используете Windows, запуск ключа F11 через Selenium должен работать.

+0

Я нашел сообщение в блоге, объясняющее, что селен получает только видимый текст элемента http://yizeng.me/2014/04/08/get-text-from-hidden-elements-using-selenium-webdriver/ – shiva

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