selen framework

Post on 22-Jun-2015

1.095 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

@hayorov

Selen framework

Что такое 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?

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

Хаёров Александр

вопросы и … спасибо

hayorov@gmail.com @hayorov

top related