Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mail.Ru
Автоматизированное
   тестирование
  Rich Web Client
Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mail.Ru
Юнит-тестирование



• Чем плохи безбраузерные тесты?
• Синхронные и асинхронные тесты
• Что использовать?
jsTestDriver
Cтартуем сервер
Цепляем браузеры
Запускаем тесты
Как выглядит тест?
{

    setUp: function () {
        // ...
    },

    testSomething: function () {
        // ...
    },

    tearDown: function () {
        // ...
    }
}
Дополнительно




• Sinon.JS
• js-build-tools
Sinon.JS
setUp: function () {
    // use fake XHR
},
testSomeXHR: function () {
    var id = null;
    var req = new XHR(...)
                .send(function (r) { id = r.id; });
    // respond to request
    assertEquals(1, id);
},
tearDown: function () {
    // restore XHR
}
js-build-tools
core.RAW.js
var app = null;

function registerApplication(aApp) {
    if (app) throw 'Только одно приложение!';
    app = aApp;
}

// #ifdef testmode

function unregisterCurrentApplication() {
     app = null;
}

// #endif
core.js
var app = null;

function registerApplication(aApp) {
    if (app) throw 'Только одно приложение!';
    app = aApp;
}
core.TEST.js
var app = null;

function registerApplication(aApp) {
    if (app) throw 'Только одно приложение!';
    app = aApp;
}

function unregisterCurrentApplication() {
     app = null;
}
Этого хватит?
Selenium 2

                        Selenium Core


  Java, Ruby, Python,
   Perl, PHP or .NET



                        Selenium Core
Selenium 2

                                        Selenium Core


 Java, Ruby, Python,
  Perl, PHP or .NET


                       Remote Control
                                        Selenium Core
Очень медленно
Grid2
Grid2
Grid2
PageObjects
public class LoginPage {
    ...
    public void loginAs(String login,
                        String pwd) {
        // 1. находим инпут с логином
        // 2. заполняем его
        // 3. находим инпут с паролем
        // 4. заполняем его
        // 3. submit
    }
    ...
}
PageObjects + PageFactory
public class LoginPage {
    @FindBy(name = "login")
    private WebElement loginEl;

    @FindBy(name = "pwd")
    private WebElement pwdEl;
    ...
    public void loginAs(String login, String password) {
        // 1. заполняем инпут с логином
        // 2. заполняем инпут с паролем
        // 3. submit
    }
    ...
}
LoadableComponent



webagent.goOnline(Status.AWAY)
    .getContactList()
        .open()
            .findContact("Vasya Pupkin");
Когда запускаем тесты



• После завершения фичи
• После подготовки prerelease
• После раскладки на боевые
• По времени
СПАСИБО!
        Андрей Плешков
Ведущий разработчик, «Мой Мир»
    a.pleshkov@corp.mail.ru

More Related Content

PDF
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
PDF
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
PPTX
Как не утонуть в мегабайтах JS-кода
PPT
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
PPTX
Самодельная параметризация и параллелизация тестов на Webdriver (JS)
PDF
Суперсилы Chrome developer tools
PDF
Продвинутое использование Celery — Александр Кошелев
PPT
Alexander manuhin selenium_php_v2.0
Архитектура кода нового 2ГИС Web API или куда мы дели MVC
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
Как не утонуть в мегабайтах JS-кода
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Самодельная параметризация и параллелизация тестов на Webdriver (JS)
Суперсилы Chrome developer tools
Продвинутое использование Celery — Александр Кошелев
Alexander manuhin selenium_php_v2.0

What's hot (19)

PPTX
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...
PPTX
Тестирование Web API
PPTX
WordPress REST API
PDF
2014 Jeeconf - Geb Spock
PPTX
Java осень 2012 лекция 5
PDF
Опыт разработки и тестирования RESTful JSON сервиса
PPTX
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
PPTX
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
PPTX
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
KEY
Sequel — механизм доступа к БД, написанный на Ruby
PPT
Easy authcache 2 кеширование для pro родионов игорь
PDF
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
PDF
Продвинутое использование ActiveRecord в Yii2
PPTX
PowerShell
PDF
YiiConf: Миграции и инсталляции
PPT
Общая архитектура Yii2
PPTX
Особенности совместной работы Ruby и Oracle
PDF
Ф'Yii'лософия
PPT
Web весна 2012 лекция 9
Оптимальная архитектура масштабируемого плагина WordPress на Custom Post Type...
Тестирование Web API
WordPress REST API
2014 Jeeconf - Geb Spock
Java осень 2012 лекция 5
Опыт разработки и тестирования RESTful JSON сервиса
вебинар - функциональное тестирование с использованием Selenium 2 и TestNG
QA Fest 2015. Иван Пашко. XPath yourself. Tips & Tricks
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Sequel — механизм доступа к БД, написанный на Ruby
Easy authcache 2 кеширование для pro родионов игорь
Анджей Гужовский "Riot.JS, или как приготовить современные Web Components"
Продвинутое использование ActiveRecord в Yii2
PowerShell
YiiConf: Миграции и инсталляции
Общая архитектура Yii2
Особенности совместной работы Ruby и Oracle
Ф'Yii'лософия
Web весна 2012 лекция 9
Ad

Viewers also liked (18)

PPTX
Sumin
PPTX
Опыт внедрения и использования распределенной системы хранения данных на осно...
PPTX
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
PPTX
1145 1230 Технологическое партнерство с Microsoft – опыт Mail.Ru Group
PPTX
Tech forum 2011-почта
PPTX
Платформа@Mail.Ru: настоящее и будущее
PPTX
Alekseev
PPT
Разработка социальных игр «из первых рук»: ваш путь в топ!
PPTX
Стабильность — признак мастерства
PPTX
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
PPTX
Создание мобильных приложений: платформы, тренды, тонкости
PPTX
Платежные системы и мошенники в Сети (Ефимочкин Андрей))
PPTX
Машинное обучение в ранжировании поиска
PPTX
Типичные проблемы с массовыми рассылками и как их избежать
PPTX
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
PPT
Hadoop ecosystem
PDF
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
PPTX
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Sumin
Опыт внедрения и использования распределенной системы хранения данных на осно...
Эволюция разработки (Ермаков Игорь), Форум технологий Mail.Ru Group
1145 1230 Технологическое партнерство с Microsoft – опыт Mail.Ru Group
Tech forum 2011-почта
Платформа@Mail.Ru: настоящее и будущее
Alekseev
Разработка социальных игр «из первых рук»: ваш путь в топ!
Стабильность — признак мастерства
Как мы в Почте@Mail.Ru выдерживаем высокие нагрузки
Создание мобильных приложений: платформы, тренды, тонкости
Платежные системы и мошенники в Сети (Ефимочкин Андрей))
Машинное обучение в ранжировании поиска
Типичные проблемы с массовыми рассылками и как их избежать
Форум Технологий Mail.Ru 2011: Юрий Ветров — Как создаются интерфейсы в Mail.Ru
Hadoop ecosystem
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Обзор архитектуры и подсистем деплоя и мониторинга. Как инженеры делают систе...
Ad

Similar to Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mail.Ru (20)

PDF
Mobile automation uamobile
PPTX
iOS and Android Mobile Test Automation
PPTX
Node.js введение в технологию, КПИ #ITmeetingKPI
PDF
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
PPTX
JavaScript как объектно-ориентированный язык программирования
PDF
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
PDF
Инструментируй это
PPTX
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
PPTX
Человекопонятные отчёты
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
PPTX
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
PPTX
Postman тестирование api v1.0 (1)
PPT
Selenium 2.0: обзор новых возможностей
PDF
Превышаем скоростные лимиты с Angular 2
PDF
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
PDF
Чуть сложнее чем Singleton: аннотации, IOC, АОП
PPTX
automation is iOS development
PPTX
Простой и кросс-платформенный WEB-сервер на .NET
PDF
«Тестируем веб приложения», Павел Сташевский
PPT
Web весна 2013 лекция 9
Mobile automation uamobile
iOS and Android Mobile Test Automation
Node.js введение в технологию, КПИ #ITmeetingKPI
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
JavaScript как объектно-ориентированный язык программирования
2014-08-02 03 Дмитрий Шматко. Первые впечатления от Node.js
Инструментируй это
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Человекопонятные отчёты
Типичные ошибки начинающих писать тесты на WebDriver
Артем Розуменко - "Как и зачем разрабатывать собственный фреймворк?"
Postman тестирование api v1.0 (1)
Selenium 2.0: обзор новых возможностей
Превышаем скоростные лимиты с Angular 2
Превышаем скоростные лимиты с Angular 2 / Алексей Охрименко (IPONWEB)
Чуть сложнее чем Singleton: аннотации, IOC, АОП
automation is iOS development
Простой и кросс-платформенный WEB-сервер на .NET
«Тестируем веб приложения», Павел Сташевский
Web весна 2013 лекция 9

More from tfmailru (10)

PPTX
к форуму технологий вступление Last
PPTX
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
PDF
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
PPTX
Стабильность — признак мастерства
PPTX
Развитие интерфейса через гайдлайны
PPTX
Типичные проблемы с массовыми рассылками и как из избежать
PPTX
Как избавиться от опасных ссылок в вашем проекте
PPTX
Платежные системы и мошенники в Сети
PPTX
Технологии поиска
PPTX
Программа форума
к форуму технологий вступление Last
Партнерские возможности Почты: как дружить с миллионами пользователей Mail.Ru
Tarantool: как обрабатывать 
1,5 млрд запросов в сутки?
Стабильность — признак мастерства
Развитие интерфейса через гайдлайны
Типичные проблемы с массовыми рассылками и как из избежать
Как избавиться от опасных ссылок в вашем проекте
Платежные системы и мошенники в Сети
Технологии поиска
Программа форума

Технологии тестирования Rich Web client, Андрей Плешков, Форум Технологий Mail.Ru