Selenium Selenium 2 WebDriver
Что такое Selenium? Selenium это набор инструментов для автоматизации тестирования веб-приложений, эмулирующий действия пользователя.
Selenium Selenium IDE Плагин для браузера Firefox Selenium WebDriver Набор библиотек для различных языков программирования Selenium Server Система для распределенного тестирования веб-приложений
Selenium IDE
Самая простая автоматизация Установить и запустить Selenium IDE
Самая простая автоматизация Включить запись и выполнить нужные шаги в браузере Запись включена
Самая простая автоматизация Проверить выполнение определённых условий
Самая простая автоматизация Тест готов. Сохраняем его как тест-кейс.
WebDriver автоматизация посложнее WebDriver интерфейс для взаимодействия программ/скриптов с браузером. Он не зависит от платформы и языка программирования. WebDriver позволяет управлять браузером и определять его состояние. WD может использоваться для различных целей, но создавался именно как средство для автоматизированного тестирования веб- приложений. Подробности на сайте W3Cна сайте W3C
Selenium WebDriver Python + PyUnit + Selenium WebDriver
Selenium WebDriver Browsers HtmlUnit WebDriver driver = new HtmlUnitDriver(); Firefox 3.6+ WebDriver driver = new FirefoxDriver(); IE 7+ WebDriver driver = new InternetExplorerDriver(); Opera 9+ WebDriver driver = new OperaDriver(); Chrome WebDriver driver = new ChromeDriver(); Languages Java C# Python Ruby Есть неофициальные реализации для PHP и Perl
Основные команды Действия ПроверкиОжидания Поиск Взаимодействие
Сценарий обычного скрипта 1. Открыть страницу 2. Найти элемент 3. Произвести манипуляции с элементом 4. Дождаться выполнения условия 5. Проверить результат
Основные команды get(url) открытие страницы back() предыдущая страница forward() следующая страница refresh() - обновить страницу driver.get( driver.navigate().back();
Основные команды findElement() – By.id(id); – By.name(name) – By.className(css_classname) – By.cssSelector(css_properties) – By.linkText(text) – By.Xpath(/html/body/div/div/div/a/img) driver.findElement(By.className(b-weather__link));
Основные команды Click() SendKeys(text) Submit() SelectByText(text) SelectByValue(value)
Основные команды Explicit Waits ожидания появления конкретного элемента Implicit Waits все команды поиска элементов становятся ожидающими
Selenium Server Запуск/закрытие браузеров Прокси для запросов