Вы здесь

Selenium

Интеграция фреймворка Selenium с модулем Testing.

Модуль Selenium позволяет интегрировать фреймворкм Selenium с Друпалом (Selenium с Simpletest). Selenium Webdriver это совершенно другой продукт, чем Selenium 1 RC и тесты для него должны писаться вручную (а не быть записанными в Selenium IDE). Однаков, мы пытаемся сохранить API похожим на тесты Друпала (класс DrupalWebTestCase). Нашей целью является создание большинства методов DrupalWebTestCase, поэтому тесты могут быть написаны похожим путём.

Selenium 2 взаимодействует с браузером естественным путём, то есть, это не яваскрипт-фреймворк как Selenium 1. Это делает возможным полное выполнение всех действий, которые пользователь может сделать в браузере: загружить файл, перетащить пункт, отправить форму, протестировать работу AJAX, сделать скриншот и так далее.

Нашей целью является реализация всех методов DrupalWebTestCase, поэтому, текущие тесты могут быть запущены в Selenium, вместо их запуска во внутреннем браузере. В текущей версии модуля Selenium уже реализованы многие методы, включая:

  • drupalLogin, drupalLogout
  • assertLink, assertTitle, assertText, assertNoText
  • verboseScreenshot
  • drupalGet, drupalPost

Любая функциональность может быть расширена с использованием связи с драйвером (классы SeleniumFirefoxDriver, SeleniumChromeDriver) и используя управление элементов (класс SeleniumWebElement).

Модуль включает тесты для следующих яваскриптов ядра:

  • autocomplete.js
  • collapse.js
  • machine_name.js
  • states.js
  • tabledrag.js
  • tableheader.js
  • tableselect.js
  • textarea.js
  • vertical_tabs.js

Слайды из доклада на Киевском Друпал-кафе:
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...

Зависит от: