Selenium: Начало.
Особенности WEB-приложений Множество браузеров, отличающиеся реализацией Отсутсвие строгих правил в HTML Различные конфигурации на стороне клиента
Что такое Selenium? Это инструмент тестирования WEB-приложений. Создан на основе библиотеки, написанной на JavaScript в 2004м году. Различают 2 поколения: 1-е до интеграции с WebDriver, 2-е – после.
Возможности Selenium Кроссбраузерное и кроссплатформенное тестирование Тестирование проходит в браузере, а не в эмуляторе Идентификация элементов несколькими способами(XPath, ID, DOM, CSS Locator) Выполнение JavaScript кода на странице тестируемого приложения
Совместимость Платформы: -Windows -Mac -Linux Браузеры -FireFox 2, 3, 3.x, 4 -IE 6, 7, 8 -Safari 2, 3, 4 (5?) -Opera 8, 9, 10 -Google Chrome -Другие
Разновидности Selenium Selenium IDE Selenium Core Selenium RC Selenium Grid
Selenium IDE Возможности: -Быстрая запись и воспроизведение -Регулирование скорости выполнения -Создание тест-сьютов -Отладка тестов -Экспорт тестов в разные форматы
Selenium IDE Достоинства: -Прост в понимании -Прост в использовании Недостатки: -Работает только в FireFox -Нет параллельного выполнения тестов(только в нескольких окнах FireFox) -По у молчанию нет условий, циклов (но для этого можно использовать дополнения)
Selenium IDE
Selenium Core
Возможности(они же достоинства): -Использование тест-сьютов -Запуск в разных браузерах за счет размещения на сервере Недостатки: -Отсутсвие параллельного запуска -Все тесты размещаются на сервере – неудобно поддерживать -Нет средств записи/воспроизведения
Selenium Core
Selenium RC
Достоинства: -Платформонезависимость -Браузеронезависимость -Использование любого языка программирования -Возможность построения сложных тестовых систем Недостатки: - Сложность
Selenium RC package com.example.tests; import com.thoughtworks.selenium.*; import java.util.regex.Pattern; public class test 1 extends SeleneseTestCase { public void setUp() throws Exception { setUp(" "*chrome"); } public void testTest 1() throws Exception { selenium.open(" assertEquals("Яндекс", selenium.getTitle()); "sqa days 10"); selenium.waitForPageToLoad("30000"); assertTrue(selenium.isTextPresent("SQA Days")); }
Selenium Grid
Достоинства - Многократное уменьшение времени выполнения при большом количестве тестовых сценариев. -Возможность использования ранее написанных тестов (на java, ruby python…). -Простой способ построения распределенной среды для выполнения тестов. Недостатки - Нет средств Record/Playback. -Нет поддержки selence test cases. -Требует более высокой квалификации от сотрудников. -Есть проблемы с кирилицей при воспроизведении и проблемы с запуском parallels tests.
Альтернативы? Их множество. Что же выбрать? Решать Вам.