2. Что такое Selenium?
Black box testing
WebDriver Функциональные тесты
Исполняет мечты написан на java нужен каждому
КРУТАЯ ШТУКА Автоматизирует
Бывает IDE
Работает везде тестирование
у кого-то все еще RC )) Работает с браузерами
Разговаривает на многих языках
Связана с WEB Многообразие bindings
довольно новый инструмент open source
Уже популярный
3. Что такое Selenium?
NO Selenium IDE
NO Selenium RC
ONLY WebDriver
В случае появления
скуки смотрим
только на эту
экранную область
--->
7. PHP bindings for WebDriver
1. designed to work with PHPUnit
built-ins for running tests at Sauce Labs
2. Yii framework extension
allows creating functional webdriver tests
3. This is Facebook
This is Facebook x2
8. «из готового»: Bromine
+ management система
проекты, требования, дефекты
+ Sauce Labs интеграция
+ управление запуском тестов
- Selenium RC
- нет многопоточности ?
- плохая реализация тестов
- весь сырой
написан на PHP (PHPCake frm) + MySQL
! есть поднятая виртуалка для новичков
9. «из готового»: Codeception
+ интересная реализация тестов
+ универсальный
+ документирован
+ симпатичный дизайн сайта
- Selenium RC
- нет многопоточности ?
- Selenium как один из модулей
написан на PHP
10. Selen
написан на PHP + sqlite3
использует php-webdriver-binding
распространяется под Apache License
github.com/hayorov/Selen
11. Selen: архитектура
Selenium 2
Nodes
Grid Hub
webdriver-bindings
daemon storage DB API module
planner
processor
selenCore CI module
manager
3 part systems Test jobs manager
Selen Manager basics
communication
module reports
13. Selen: тесты
002.test
+ сценарии и конфигурации
Базовая секция
тестов в текстовом виде
Секция входных данных
+ конфигурация в INI формате
Доступные группы элементов
Соотношение элемент-группа
Описание свойств элементов
14. Selen: тесты
Уникальный номер теста
Название теста
Соответствующий тестовый сценарий
Количественный
критерий успеха
В основной секции определены базовые параметры и значения
переменных требуемые для запуска теста.
15. Подробнее о конфигурации
Имя параметра = значение
Уникальный номер теста
Параметр может принимать значение случайным образом из списка, значения
которого разделены символом «^^»
Допустимые варианты указаны в виде комментариев
Значением может быть и специальная функция, со
своими входными параметрами. В этом примере эта
функция возвращает случайный сгенерированный домен
в зоне RU (2 уровня)
Секция содержит массив разнообразных входных данных
16. Тестовый сценарий
В сценарии могут использоваться паттерны –часто повторяющие действия
вынесенные в отдельную часть
Важной составляющей сценария должна являться хорошая документированность
Так было раньше, буквально месяц назад…
17. Тестовый сценарий
мое видение page orientated подхода
Выполняемые действия понятны по методам
Так было раньше, буквально месяц назад…
18. Selen: хвалимся
+ открытый
+ на распространенном языке
+ многопоточность
+ Webdriver && Selenium Grid
+ нет xUnit и прочих тяжёлых монстров
+ sqlite3 или mysql
Это будет :
Web UI
разные форматы выгрузки отчетов
сопряжение с CI (Jenkins ?)