Общие тестовые изображения селена - PullRequest
2 голосов
/ 23 марта 2010

С селеном можно запустить тест, который проверяет все изображения на текущей странице, если они содержат атрибут ALT, и сообщает об изображениях, не имеющих его?

Ответы [ 3 ]

6 голосов
/ 23 марта 2010

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

  • Вы можете использовать Selenium IDE , где тест состоит из таблицы HTML.
  • Вы можете использовать Selenium RC , где вынаписать тест на языке программирования (например, C #, Java, PHP, Ruby и т. д.).

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

Затем вам нужно научиться находить все изображения на странице.//img - это хороший запрос XPath для использования.Подробнее о Xpath см. w3schools и особенно на этой странице .

. Затем вам нужно найти изображения с атрибутом alt: //img[@alt]

Один из подходов состоит в подсчете количества изображений и вычитании числа с помощью атрибутов alt.

2 голосов
/ 23 марта 2010

Вы также можете сделать это в WebDriver (скоро будет Selenium 2).Следующий пример предназначен для TestNG / Java, но доступны другие языки клиента.

List<WebElement> images = driver.findElements(By.xpath("//img[not(@alt)]"));
assertEquals(images.size(), 0);

Для получения дополнительной информации вы также можете использовать что-то вроде следующего для вывода сведений об изображениях без атрибутов alt:

for(WebElement image : images) {
    System.out.println(image.getAttribute("src"));
}
0 голосов
/ 30 марта 2010

У нас похожий тест, но мы берем HTML-код страницы и анализируем изображения с помощью регулярного выражения, а затем сопоставляем второе регулярное выражение, ища тег alt. Я не проводил тест скорости, но думаю, что он может быть быстрее, чем маршрут Xpath.

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