SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014

67 %
33 %
Information about SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя...
Technology

Published on February 28, 2014

Author: dzhariy

Source: slideshare.net

Description

Демонстрация работы инструмента записи веб-элементов PageObject для Selenium WebDriver при помощи SWD Page Recorder. Демонстрация работы фреймворка SWD Starter Kit

SWD Page Recorder Записывает PageObject'ы со скоростью ниндзя Dmytro Zharii. EPAM Systems Selenium Camp 2014. Kyiv

Что Я?

Кто Я?

На повестке... TODO: Не забыть добавить салйд с агендой, чтобы небыло как в прошлый раз. НЕ ЗАБУдЬ!!!!!!!!11111 Ты помнишь как ты выдумывал агенду во время прошлого доклада????

История... Команда Record&Play – записывают тесты при помощи Selenium IDE / Builder Пишут тесты в Бот-стиле: var driver = new FirefoxDriver(); driver.FindElement(By.CssSelector("img[alt="Le Freak"]")).Click(); driver.FindElement(By.LinkText("Add to cart")).Click(); driver.FindElement(By.LinkText("Checkout >>")).Click(); Команда Фреймворководов – на протяжении 256-ти серий пытаются разработыть мегамасштабируемый и ультрагибкий фреймворк, венец инженерной мысли.

Record&Play. Что было сделано: • Выбран инструмент • Selenium IDE • Selenium Builder • Eclipse / Idea • Visual Studio • Записаны тесты • Был сгенерирован код тестов • Добавлена возможность запуска не только «на моей машине»

Жизнь Record&Play

Framework. Что было сделано: • • • • • Выбраны инструменты автоматизации Придумана архитектура и слои фреймворка: • Работа со страницами • Тесты • Отдельные бизнес-шаги • Работа с БД Выработаны соглашения: • Как писать код • Как добавлять новые тесты Были записаны первые PageObject классы Создан базовый модуль отчётности

Жизнь Фреймворка

Как сократить риск смерти?

Я знаю как! (И Вы знаете как!) • Готовая архитектура • Общепринятые практики • Хорошие инструменты • Начать со Smoke-тестов

На повестке... SWD Page Recorder – инструмент генерации PageObjects SWD Starter Kit – фреймворк для вашего фреймворка И... Демо!

SWD PageRecorder

Автоматически генерирует XPath Попробуйте самостоятельно на этой странице: http://derp-bear.herokuapp.com/forms/basic_form_example

Редактор локаторов

Не нравится предложенный XPath?

Не любите XPath?

Генерирует PageObject!

На C# и Java…

Ruby…

На чём угодно... И как угодно!

SWD Page Recorder В браузере: •Записать веб-элементы/локаторы В приложении: •Оптимизировать локаторы •Сгенерировать код PageObject В IDE: •Продолжить писать тесты с уже готовыми локаторами

Вместо того, чтобы... • 10 START: Руками выгрызть один локатор из браузера • Руками добавить его в код: • Создать новый класс • Добавить поле и аттрибут FindsBy • Запустить тест, чтобы посмотреть как работает • Ай. Не работает • Почесать затылок • Отредактировать локатор в коде • Запустить тест для проверки • Ай. Опять не работает • Почесать затылок коллегам... • Ура заработало! • GOTO 10 'Надо же второй локатор добыть! '

Page Recorder – круче таймменеджмента

SWD.StarterKit

А что, если этот велосипед – не подходит? Разработайте свой! Используйте уже изобретённые •Хорошие практики •Подходы •Архитектуру •Структуру

Либо... возьмите готовое Доработайте или переделайте уже готовое! SWD.StarterKit …

Структура SWD.StarterKit

Работа с WebDriver • SwdBrowser – умеет автоматически создавать экземпляр WebDriver'а при первом обращении • Браузер создаётся на основе конфигурационного файла Config.config: • А ещё SwdBrowser умеет отлавливать JavaScript ошибки – HandleJavaScriptErrors() И много других приятных мелочей…

PageObject’ы: 1. 2. Умеют автоматически вызывать PageFactory.InitElements(...) Уже содержат свойство Driver, которое возвращает текущий экземпляр WebDriver

Уже готово! 1. Готовые библиотечные методы расширения: • WaitUntilVisible(): txtName.WaitUntilVisible() .SendKeys(“Hello”) • GetElementText(): myPage.txtName.GetElementText() получает значение из тэгов input, select и других 2. Поддержка Smoke-тестов для PageObject класса

Хотите идею для Smoke-теста?

Что тестирует такой Smoke Test? • • Путь к Странице возможен? Элементы Страницы соответствуют PageObject декларации?

Что тестирует такой Smoke Test? А не случилось ли по пути к странице ошибок: •Server / HTTP (500)? •JavaScript исключений? Такие ошибки могут быть автоматически отловлены фреймворком

Самотестируемый PageObject http://valleyridgefamilydental.com/wp-content/uploads/2013/07/child-with-ice-cream.jpg

Код PageObject

Нас спасёт Page Recorder, который:

А ещё...

Демо: Starter + Recorder

Выводы: SWD Page Recorder Всё в одном флаконе Запись Page Object классов •Отладка локаторов – •Работа с любым браузером WebDriver •Генерация кода Page Object на языках  C#  Java  Ruby...  Свой шаблон  Свой генератор •

Выводы: SWD Starter Kit • • • • • Готовая структура проекта Хорошие практики автоматизации Кроссбраузерный запуск тестов Поддержка Smoke Test'ов Интеграция с Page Recorder

Узнать ещё больше! SWD Page Recorder: Записывает PageObject-классы д Selenium WebDriver SWD.Starter: Быстрый старт автоматизации тестирования UI на C# + Selenium WebDriver + PageObjects

SWD-Tools.com http://swd-tools.com

Кто Я?

Credits • • This presentation template was borrowed from http://www.slideshare.net/gaoliang641/lessons-learned-on-software-testingautomation (gaoliang641)

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Материалы моего доклада (SWD Page Recorder) на # ...

... Записывает PageObject'ы со скоростью ниндзя SeleniumCamp ... Selenium WebDriver при помощи SWD Page Recorder.
Read more

Dmytro Zharii - HubSlide

SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014 Демонстрация работы ...
Read more

DZis is a Test: февраля 2014 - blog.zhariy.com

Материалы доклада "SWD Page Recorder: Записывает PageObject'ы со скоростью ниндзя SeleniumCamp 2014"
Read more