SlideShare a Scribd company logo
1 of 20
Download to read offline
Selen framework




                      Хаёров Александр
                  hayorov@gmail.com   @hayorov
Что такое Selenium?
                   Black box testing
          WebDriver Функциональные тесты
   Исполняет мечты написан на java   нужен каждому

КРУТАЯ ШТУКА Автоматизирует
    Бывает IDE
        Работает везде             тестирование
у кого-то все еще RC ))   Работает с браузерами
                            Разговаривает на многих языках

 Связана с WEB             Многообразие bindings
        довольно новый инструмент open source
                    Уже популярный
Что такое Selenium?
                     NO Selenium IDE
                     NO Selenium RC
                     ONLY WebDriver


В случае появления
скуки смотрим
только на эту
экранную область
                      --->
Что автоматизировать?

- регрессионное тестирование
- функциональное тестирование
- приемочное тестирование
- тестирование совместимости
PHP + Selenium


Оно работает!
Selenium и другие языки


 Java        Perl
     C#   Pyton
          Ruby
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
«из готового»: 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
                                                                     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
Selen
структура тест комплекта




 + все довольно просто и структурировано
Selen: тесты
002.test
                                                          + сценарии и конфигурации
            Базовая секция
                                                            тестов в текстовом виде
                 Секция входных данных
                                                          + конфигурация в INI формате

                Доступные группы элементов


                             Соотношение элемент-группа


                     Описание свойств элементов
Selen: тесты
Уникальный номер теста
                                             Название теста



         Соответствующий тестовый сценарий


                                                              Количественный
                                                              критерий успеха




            В основной секции определены базовые параметры и значения
                      переменных требуемые для запуска теста.
Подробнее о конфигурации


                  Имя параметра = значение
                                                  Уникальный номер теста




             Параметр может принимать значение случайным образом из списка, значения
             которого разделены символом «^^»




Допустимые варианты указаны в виде комментариев
                                                   Значением может быть и специальная функция, со
                                                   своими входными параметрами. В этом примере эта
                                                   функция возвращает случайный сгенерированный домен
                                                   в зоне RU (2 уровня)



                          Секция содержит массив разнообразных входных данных
Тестовый сценарий

            В сценарии могут использоваться паттерны –часто повторяющие действия
            вынесенные в отдельную часть




                Важной составляющей сценария должна являться хорошая документированность




Так было раньше, буквально месяц назад…
Тестовый сценарий


                    мое видение page orientated подхода




             Выполняемые действия понятны по методам




Так было раньше, буквально месяц назад…
Selen: хвалимся
+ открытый
+ на распространенном языке
+ многопоточность
+ Webdriver && Selenium Grid
+ нет xUnit и прочих тяжёлых монстров
+ sqlite3 или mysql

Это будет :
Web UI
разные форматы выгрузки отчетов
сопряжение с CI (Jenkins ?)
Что такое Selenium?



Попробуем что-нибудь
 запустить из тестов…
вопросы и … спасибо




                         Хаёров Александр
                  hayorov@gmail.com   @hayorov

More Related Content

What's hot

3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov seleniumqasib
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Автоматизация и Selenium IDE
Автоматизация и Selenium IDEАвтоматизация и Selenium IDE
Автоматизация и Selenium IDEISsoft
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поискеyaevents
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumSQALab
 
Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Aliaksandr Ikhelis
 
JUnit, дай пять!
JUnit, дай пять!JUnit, дай пять!
JUnit, дай пять!Dmitrii Tuchs
 
Тестируй как PRO, или учим тесты быть умнее шпаргалка
Тестируй как PRO, или учим тесты быть умнее шпаргалкаТестируй как PRO, или учим тесты быть умнее шпаргалка
Тестируй как PRO, или учим тесты быть умнее шпаргалкаssuser2062cc
 
ук 03.003.01 2011
ук 03.003.01 2011ук 03.003.01 2011
ук 03.003.01 2011etyumentcev
 

What's hot (18)

3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov selenium
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Автоматизация и Selenium IDE
Автоматизация и Selenium IDEАвтоматизация и Selenium IDE
Автоматизация и Selenium IDE
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поиске
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Эволюция автотестирования на Selenium
Эволюция автотестирования на SeleniumЭволюция автотестирования на Selenium
Эволюция автотестирования на Selenium
 
Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...
 
JUnit, дай пять!
JUnit, дай пять!JUnit, дай пять!
JUnit, дай пять!
 
Тестируй как PRO, или учим тесты быть умнее шпаргалка
Тестируй как PRO, или учим тесты быть умнее шпаргалкаТестируй как PRO, или учим тесты быть умнее шпаргалка
Тестируй как PRO, или учим тесты быть умнее шпаргалка
 
Java 9 - Back to the Future
Java 9 - Back to the FutureJava 9 - Back to the Future
Java 9 - Back to the Future
 
ук 03.003.01 2011
ук 03.003.01 2011ук 03.003.01 2011
ук 03.003.01 2011
 

Similar to Selen framework

Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.Igor Khrol
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграцииIgor Khrol
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Dakiry
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко ДмитрийSolit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрийsolit
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?Mikalai Alimenkou
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?SQALab
 
Automating Canvas: difficult but possible
Automating Canvas: difficult but possibleAutomating Canvas: difficult but possible
Automating Canvas: difficult but possibleCOMAQA.BY
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1Technopark
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesMikalai Alimenkou
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Александр Шамрай
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиSQALab
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019GoQA
 

Similar to Selen framework (20)

Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
COMAQA.BY Conf #2: "Codeception + PHP for QA Automation", Евгений Борисик, CO...
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко ДмитрийSolit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
 
А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
 
Automating Canvas: difficult but possible
Automating Canvas: difficult but possibleAutomating Canvas: difficult but possible
Automating Canvas: difficult but possible
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Java весна 2014 лекция 1
Java весна 2014 лекция 1Java весна 2014 лекция 1
Java весна 2014 лекция 1
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточности
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
 

More from Alexander Khaerov

More from Alexander Khaerov (6)

The Amazing AppEngine
The Amazing AppEngineThe Amazing AppEngine
The Amazing AppEngine
 
Moscow IT-English Meetup #1
Moscow IT-English Meetup #1Moscow IT-English Meetup #1
Moscow IT-English Meetup #1
 
Deploying to AppEngine
Deploying to AppEngineDeploying to AppEngine
Deploying to AppEngine
 
Understanding PaaS
Understanding PaaSUnderstanding PaaS
Understanding PaaS
 
Mpc store testing
Mpc store testingMpc store testing
Mpc store testing
 
Selenium Grid: Culinary tips #optconf.ru
Selenium Grid: Culinary tips #optconf.ruSelenium Grid: Culinary tips #optconf.ru
Selenium Grid: Culinary tips #optconf.ru
 

Selen framework

  • 1. Selen framework Хаёров Александр hayorov@gmail.com @hayorov
  • 2. Что такое Selenium? Black box testing WebDriver Функциональные тесты Исполняет мечты написан на java нужен каждому КРУТАЯ ШТУКА Автоматизирует Бывает IDE Работает везде тестирование у кого-то все еще RC )) Работает с браузерами Разговаривает на многих языках Связана с WEB Многообразие bindings довольно новый инструмент open source Уже популярный
  • 3. Что такое Selenium? NO Selenium IDE NO Selenium RC ONLY WebDriver В случае появления скуки смотрим только на эту экранную область --->
  • 4. Что автоматизировать? - регрессионное тестирование - функциональное тестирование - приемочное тестирование - тестирование совместимости
  • 5. PHP + Selenium Оно работает!
  • 6. Selenium и другие языки Java Perl C# Pyton Ruby
  • 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
  • 12. Selen структура тест комплекта + все довольно просто и структурировано
  • 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 ?)
  • 19. Что такое Selenium? Попробуем что-нибудь запустить из тестов…
  • 20. вопросы и … спасибо Хаёров Александр hayorov@gmail.com @hayorov