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