Upload
codefest
View
808
Download
2
Embed Size (px)
Citation preview
http://j.mp/selen2 *
*https://github.com/bayandin/CodeFest-12
Selenium2:
полевые испытания
Александр Баяндин
Татьяна Курносова
• Автоматизируешь web-приложение
• Пишешь тесты, но только ручные
• Пишешь тесты используя SeleniumRC
Для кого
Содержание
• Инструменты автоматизации
• Selenium RC vs. Selenium WebDriver
• Примеры тестов
• Автоматизация запуска тестов
• …
PHP
• Популярный язык программирования
PHP
• Популярный язык программирования
• Тестируем приложение на PHP
PHPUnit
• Мэйнстрим
PHPUnit
• Мэйнстрим
• Умеет работать c селениумом*
Selenium
• Широко распространён
Selenium
• Широко распространён
• Поддерживается
Рабочая среда тестировщика
• PHP, PHPUnit, PHPUnit_Selenium
• Selenium Server
• IDE (e.g. NetBeans)
Selenium RC
Test Script
Selenium RC Server
Web Application
HTTP HTTP HTTP
Selenium RC
Test Script
Selenium RC Server
Web Application
HTTP HTTP HTTP
Selenium WebDriver
Test Script
Web Application
HTTP HTTP Selenium WebDriver
Selenium WebDriver
• Нативное выполнение команд
Selenium WebDriver
• Нативное выполнение команд
• Объектно-ориентированный API
Selenium WebDriver
• Нативное выполнение команд
• Объектно-ориентированный API
• Совместимость с Selenium RC
Selenium WebDriver
• Нативное выполнение команд
• Объектно-ориентированный API
• Совместимость с Selenium RC
• Open Source
Selenium WebDriver
• Нативное выполнение команд
• Объектно-ориентированный API
• Совместимость с Selenium RC
• Open Source
Поддерживаемые языки
• Java
• C#
• Ruby
• Python
Поддерживаемые языки
• Java
• C#
• Ruby
• Python
PHP ?!11
PHP bindings
• WebDriver-PHP (Chibimagic)
• php-webdriver-bindings (Lukasz Kolczynski, yii extension)
• php-webdriver (Facebook)
PHP bindings
• WebDriver-PHP (Chibimagic)
• php-webdriver-bindings (Lukasz Kolczynski, yii extension)
• php-webdriver (Facebook)
• phpunit-selenium (Giorgio Sironi)
Hello, World!
Миграция на Selenium2
Миграция на Selenium2
Test
PHPUnit_Extensions_SeleniumTestCase
Миграция на Selenium2
Test
PHPUnit_Extensions_Selenium2TestCase
CustomTestCase
Повторный запуск
Test Run
Повторный запуск
Test Run
Повторный запуск
Test Run
Повторный запуск
Test Run
Повторный запуск
Повторный запуск
TestDecorator
RepeatTest
TestCase
TestSuite
GRID2
GRID2
Selenium Node
Selenium Node
Selenium Node
Selenium Hub
GRID2
• Запускать тесты на разных окружениях
GRID2
• Запускать тесты на разных окружениях
• Масштабировать наборы тестов
Continuous Integration
Watch Code
Build Project
Public Results
Run Tests
Continuous Integration
Watch Code
Build Project
Public Results
Run Tests
Кроссбраузерность
«Сегодня я многое понял»
Приложение 1. PHPUnit:
• https://github.com/sebastianbergmann/phpunit/
2. PHPUnit_selenium:
• https://github.com/sebastianbergmann/phpunit-selenium
• https://github.com/giorgiosironi/phpunit-selenium
3. Selenium:
• http://seleniumhq.org/
4. Рабочая среда тестировщика:
• http://phpunit.de/manual/3.6/en/installation.html
• http://seleniumhq.org/download/
• http://netbeans.org/downloads/
5. PHP bindings
• https://github.com/chibimagic/WebDriver-PHP
• http://code.google.com/p/php-webdriver-bindings
• https://github.com/facebook/php-webdriver
• https://github.com/giorgiosironi/phpunit-selenium
6. Selenium WebDriver
• http://code.google.com/p/selenium/wiki/JsonWireProtocol
7. GRID2
• http://code.google.com/p/selenium/wiki/Grid2