Модуль Selenium позволяет интегрировать фреймворкм Selenium с Друпалом (Selenium с Simpletest). Selenium Webdriver это совершенно другой продукт, чем Selenium 1 RC и тесты для него должны писаться вручную (а не быть записанными в Selenium IDE). Однаков, мы пытаемся сохранить API похожим на тесты Друпала (класс DrupalWebTestCase). Нашей целью является создание большинства методов DrupalWebTestCase, поэтому тесты могут быть написаны похожим путём.
Selenium 2 взаимодействует с браузером естественным путём, то есть, это не яваскрипт-фреймворк как Selenium 1. Это делает возможным полное выполнение всех действий, которые пользователь может сделать в браузере: загружить файл, перетащить пункт, отправить форму, протестировать работу AJAX, сделать скриншот и так далее.
Нашей целью является реализация всех методов DrupalWebTestCase, поэтому, текущие тесты могут быть запущены в Selenium, вместо их запуска во внутреннем браузере. В текущей версии модуля Selenium уже реализованы многие методы, включая:
Любая функциональность может быть расширена с использованием связи с драйвером (классы SeleniumFirefoxDriver, SeleniumChromeDriver) и используя управление элементов (класс SeleniumWebElement).
Модуль включает тесты для следующих яваскриптов ядра:
Слайды из доклада на Киевском Друпал-кафе:
http://www.slideshare.net/ygerasimov/automated-ui-testing-wi...
Связанные с модулем статьи:
http://ygerasimov.com/integrating-selenium-to-drupal-simplet...
http://ygerasimov.com/run-selenium-tests-drupal-on-debian-he...
http://ygerasimov.com/drupal-selenium-tests-api
http://ygerasimov.com/chrome-joins-simpletest-selenium-frame...
2011.10.05 | NodeOne. Selenium: 5 — Пример поиска ошибки |
2011.07.23 | NodeOne. Selenium: 4 — Использование переменных |
2011.07.14 | NodeOne. Selenium: 1 — Создание и запуск теста |
2011.07.14 | NodeOne. Selenium: 2 — Создание блока тестов |
2011.07.14 | NodeOne. Selenium: 3 — Использование Селениума |