fbpx
Have something to share about Test Automation or WebDriver?
Become a speaker now

Workshop

Test automation strategy for microservices-based systems

Nowadays microservices are our new reality and many companies have started the transition of their monolith systems. But with the new paradigm, all other development practices and approaches are shifted as well, including test automation. In this training, we will go through the following set of topics and understand how to organize them better in the microservices world:

  • transformed testing pyramid at microservice level;
  • new types of tests for microservices integration (test kits, contracts, API stubs);
  • advanced usage of containers for test environment management;
  • test data management approaches;
  • effective CI/CD organization;
  • roles and responsibilities in the development team.

For all discussed examples Java Spring Boot stack will be used, but the same concepts may be applied to any other stack as well.

Efficient Selenium Infrastructure with Selenoid

Selenoid is an alternative lightning-fast open-source Selenium protocol implementation running browsers and Android emulators inside Docker containers. It is distributed with a set of ready-to-use Docker images corresponding to the majority of popular browser versions, has a one-command installation utility and works slightly more efficiently than traditional Selenium Grid.

This workshop shows how to build efficient and scalable browser automation infrastructure using Selenoid and related tools. You will be taught why running browsers in containers is so efficient, how to easily install Selenoid and use its powerful features.

Effective Test Automation with Java

This workshop shows how to build efficient solution for test automation with Java. Experience from real projects is gathered and structured in one day workshop. You will see how modern technologies can help you and build scalable automation solution for both API and UI layers.
Test data management and reporting also included. Test cases as a code for REST API it is icing on the cake. To attend this class it is recommended to have experience with Java, InteliJ IDEA and Docker.

Part 1:

– Automation project architecture
– Building solution for API testing
– Approaches
– Test data management
– Reporting

Part 2:

– Building solution for UI testing
– Project structure
– Test data management
– Reporting

Part 3:

– Docker in test automation
– Usage of containerised solutions for test execution

Part 4:

– Jenkins CI configuration
– Pipeline
– Jenkins job DSL

Modern test automation with Cypress

This workshop teaches how to test a modern web application using Cypress.io end-to-end test runner. The application uses Vue.js framework with Vuex data management and REST API calls, but the testing will be applicable to any modern web app. Knowledge of web development using JavaScript is required, plus some basic Node.js skills.

Before coming to the workshop, please clone the repository https://github.com/cypress-io/testing-workshop-cypress and run `npm install` command to install required dependencies. See README.md in the repository for minimum system requirements.

## Part 1 – the basics

* How to install and run Cypress
* How Cypress scaffolds files
* Writing and running a basic test
* Setting up video recording and screenshots on failure
* Selector Playground
* Testing XHR requests
* Using data fixtures in your tests

## Part 2 – core concepts

* Configuring Cypress via CLI, env, config files
* Retry-ability and custom assertions
* Writing custom commands
* Using custom Webpack or Browserify preprocessor
* Page Objects vs App Actions
* Testing individual Vue / React / X components
* Accessing OS via `cy.task`
* When not to use Cypress

## Part 3 – testing strategy

* Using custom test reporters
* Running Cypress tests on CI
* Recording Cypress tests on dashboard
* Testing in parallel
* Setting up data before the test
* Cypress module API
* Unit tests vs E2E tests

Efficient Selenium Infrastructure

This workshop shows how to build efficient and scalable browser automation infrastructure using new tools: Selenoid and Ggr. You will be taught why running browsers in containers is so efficient, how to easily install Selenoid for local development and then create a fault-tolerant cluster with Ggr load-balancer.

To attend this class it is recommended to have some experience with Selenium, Linux shell and Docker. We also expect to have Docker installed on your computer and have some example Selenium tests to run.

Part I. Local browser tests development

1) Selenium: 20 mins of theory
– Brief Selenium history
– Current WebDriver architecture
– How Selenoid works
2) Selenoid installation for tests development
– What is required to start Selenoid
– Manual installation: creating config file, pulling browser images, starting Selenoid
– Shorter way: fully automated installation via CM tool
– Selenoid UI installation and features
3) Basic Selenoid features:
– Custom screen resolution
– Looking at live browser screen
– Recording and downloading video
– Custom test name
4) Updating browsers
– Automatically
– Manually

Part II. Creating Selenium cluster

1) Selenium clusters theory
– Why Selenium Grid is not suitable
– Client-side load balancing
– Server-side load-balancing
– How to share state. Session ID magic
– Ggr server. How it works
2) Setting up Ggr
– Creating users file
– Creating quota file
– Starting Ggr
– Running tests against Ggr
3) Cluster Maintenance
– Changing available browsers with no downtime
– Adding users with no downtime
– How to deal with multiple quota files
– Proxying to external commercial Selenium services
– Adding more Ggr instances. Health checking instances

Part III. Advanced Selenoid features for big clusters

1) Advanced browsers configuration file fields
– Volumes
– Environment variables
– Tmpfs
– Hosts entries
– ShmSize
2) Sending logs to centralized logs storage
– Why? Centralized logging storages
– How to configure Selenoid to send logs
3) Sending statistics to centralized metrics storage
– /status API
– Configuring Telegraf to upload statistics
– Creating statistics dashboard with Grafana
4) Building custom browser images
– What’s inside browser image
– Ready to use browser images
– How to build custom image
5) Selenoid for Windows browsers
– How it works without Docker
– Difference in configuration file
– How to run multiple isolated sessions under Windows

Kotlin for API test automation

Всё чаще и чаще в современном мире мы сталкиваемся с тестированием программных продуктов не только через кнопочки и формочки, а через непосредственно API. Тот вид, где преобладает не pixel perfect иконочек, шрифтов и идеальная композиция элементов на странице, а суровая структура данных на основе XML или более человечного JSON.

Это тот мир, где всего лишь одна скобочка, кавычка, запятая и в целом любой лишний символ в ответе на запрос клиента может остановить работу всего продукта, где уже просто так бегло глазами не проведёшь функциональный тест. Это тот мир, где без хотя бы полуавтоматического тестирования уже очень туго будет.

В данном тренинге мы разберём построение проекта с автоматизированными тестами API на основе возможно самого хайпового языка нашего десятилетия – Kotlin.

Для начала начнём с основ, которые потребуются для понимания принципов работы веб сервисов, взаимодействия между ними и дойдём до продвинутых способов автоматизации тестирования API с применением эффективных и проверенных на практике подходов в автоматизации.

  • Про API в целом
    • Типы (SOAP, RESTful, REST)
    • Форматы ответов (XML, JSON, GraphQL)
    • Как тестировать и автоматизировать (плюсы и минусы)
      • UI Tools (Postman, SOAP UI)
      • Языки (Python, Java, Kotlin)
  • Вводные по котлину
    • Новый язык или библиотека?
    • Основной новый функционал (с примерами откуда взяли фичи)
    • Какая польза и возможности использования
  • Практика кодинга
    • Kotlin + REST Assured/Retrofit 2
    • Базовый синтаксис и формирование запросов
    • Задание базовых конфигураций
    • REST Assured/Retrofit 2 с паттернами проектирования
  • Кодогенерация из json (когда и что использовать)
    • Swagger code generator
    • Intellij IDEA Plugins: JsonToKotlinPlugin, RoboPOJOGenerator
  • Кодогенерация из xml
    • XJC (POJO)
    • http://http4k-data-class-gen.herokuapp.com/xml

Secrets of successful test automation

Автоматизация тестирования является достаточно популярной темой, тем не менее мало в каких компаниях/проектах/командах она реализована действительно хорошо и приносит большую пользу. На данном тренинге будут обсуждаться насущные проблемы обеспечения качества и способы построения успешной сбалансированной автоматизации тестирования. Будет мало слайдов, много живого обсуждения, разбора реальных сценариев из жизни и разбор различных частей процесса автоматизации.

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

  • Зачем нужна автоматизация тестирования, основные влияющие факторы.
  • Обзор основных проблем, антипаттерны.
  • Роли и участники процесса автоматизации тестирования, разделение ответственности.
  • Интеграция с разработчиками, командная работа.
  • Стратегия тестирования и технические решения, типы тестирования.
  • Инструменты и подходы для успешной автоматизации тестирования.
  • Интеграция с ручным тестированием.
  • Выбор областей для тестирования, учет рисков и ROI.
  • Инфраструктурные решения, изоляция окружений.
  • Метрики и отчеты, разные уровни изменения покрытия, быстрая обратная связь.
  • Скорость работы автотестов.
  • Интеграция с CI/CD процессом, построение delivery pipeline.

Мы ожидаем на тренинге людей, которые не просто хотят получить какие-то знания, но и готовы применять их на практике, улучшая процессы автоматизации тестирования в своих проектах/командах/компаниях.

WebDriver in practice

Вы уже определились, что хотите работать с инструментом WebDriver? Ваша команда уже внедрила этот инструмент, но вам очень сложно разобраться с тем, как его правильно использовать? Вы устали от ежедневных проблем и хотите возместить часы, проведенные на форумах в поисках решения проблем? У вас есть много вопросов, но не знаете, у кого спросить?

Практический тренинг для тестировщиков и разработчиков Java проектов по обучению работы с инструментом WebDriver призван решить ваши проблемы. Целых два дня вы не увидите ничего кроме флипчарта и среды разработки. Вы научитесь создавать проект по автоматизации Web приложений с нуля и строить на его основании хорошо поддерживаемую структуру тестов, применяя рефакторинг и ключевые дизайн паттерны.

Под чутким руководством тренера вы:

  • Научитесь работать с WebDriver API
  • Научитесь запускать и отлаживать тесты под разными браузерами
  • Увидите и попробуете решать нетривиальные проблемы при помощи WebDriver
  • Познакомитесь с основными паттернами проектирования тестов
  • Научитесь работать с динамическими страницами

Тренинг подразумевает 2 дня непрерывного программирования, потому запасайтесь терпением. Не ожидайте, что за 2 дня вы научитесь программировать на Java как гуру, даже 2-ух лет для этого недостаточно. Потому, чем лучше вы подготовитесь к тренингу, тем полезней он будет для вас! Почитайте основы программирования на Java в книгах, интернете. Ищите, практикуйтесь и готовьтесь к тренингу, где мы сможем полностью сфокусироваться на автоматизации тестирования web приложений с инструментом WebDriver.

Подробная программа

День первый

Модуль 1:

  • История проекта Selenium и его архитектура
    • Selenium Core
    • Selenium IDE
    • Selenium RC
    • Selenium Grid
    • WebDriver
    • Selenium 2/WebDriver
  • Проверка настройка среды разработки Java
  • Написание и запуск первого теста (Junit и TestNG)

Модуль 2:

  • Базовые возможности WebDriver API
    • Возможности локаторов
    • Работа с основными HTML тегами
    • Работа с браузером
    • Работа с окнами
    • Работа с алертами
  • Практика в написании тестов

Модуль 3:

  • Отладка тестов в debug режиме
  • Запуск тестов под разными браузерами
    • Internet Explorer
    • Google Chrome
    • Firefox
    • HtmlUnit
  • Запуск набора тестов

Модуль 4:

  • Tips & Tricks
    • Drag and drop
    • Double click
    • Click по координатам
    • Focus
    • Firefox profile
    • Выполнение JavaScript
    • Снятие снимков экрана
День второй

Модуль 5:

  • Создание Maven проекта
  • Работа с ожиданиями и AJAX элементами

Модуль 6:

  • Немного об OOP
  • Паттерны автоматизации с WebDriver
    • Bot Style
    • Page Object
    • Page Factory
    • Element Object
    • Step Object
    • Asserts Layer
    • Entity Classes
    • Data Driven

Модуль 7:

  • Запуск тестов на Jenkins
  • Запуск тестов через Selenium Grid
  • Рекомендации и советы тренера

Selenium 2/WebDriver на практике для начинающих

Вы уже определились, что хотите работать с инструментом WebDriver? Ваша команда уже внедрила этот инструмент, но вам очень сложно разобраться с тем, как его правильно использовать? Вы устали от ежедневных проблем и хотите возместить часы, проведенные на форумах в поисках решения проблем? У вас есть много вопросов, но не знаете, у кого спросить?

Практический тренинг для тестировщиков и разработчиков Java проектов по обучению работы с инструментом WebDriver призван решить ваши проблемы. Целых два дня вы не увидите ничего кроме флипчарта и среды разработки. Вы научитесь создавать проект по автоматизации Web приложений с нуля и строить на его основании хорошо поддерживаемую структуру тестов, применяя рефакторинг и ключевые дизайн паттерны.

Под чутким руководством тренера вы:

  • Научитесь работать с WebDriver API
  • Научитесь запускать и отлаживать тесты под разными браузерами
  • Увидите и попробуете решать нетривиальные проблемы при помощи WebDriver
  • Познакомитесь с основными паттернами проектирования тестов
  • Научитесь работать с динамическими страницами

Тренинг подразумевает 2 дня непрерывного программирования, потому запасайтесь терпением. Не ожидайте, что за 2 дня вы научитесь программировать на Java как гуру, даже 2-ух лет для этого недостаточно. Потому, чем лучше вы подготовитесь к тренингу, тем полезней он будет для вас! Почитайте основы программирования на Java в книгах, интернете. Ищите, практикуйтесь и готовьтесь к тренингу, где мы сможем полностью сфокусироваться на автоматизации тестирования web приложений с инструментом WebDriver.

Подробная программа

День первый

Модуль 1:

  • История проекта Selenium и его архитектура
    • Selenium Core
    • Selenium IDE
    • Selenium RC
    • Selenium Grid
    • WebDriver
    • Selenium 2/WebDriver
  • Проверка настройка среды разработки Java
  • Написание и запуск первого теста (Junit и TestNG)

Модуль 2:

  • Базовые возможности WebDriver API
    • Возможности локаторов
    • Работа с основными HTML тегами
    • Работа с браузером
    • Работа с окнами
    • Работа с алертами
  • Практика в написании тестов

Модуль 3:

  • Отладка тестов в debug режиме
  • Запуск тестов под разными браузерами
    • Internet Explorer
    • Google Chrome
    • Firefox
    • HtmlUnit
  • Запуск набора тестов

Модуль 4:

  • Tips & Tricks
    • Drag and drop
    • Double click
    • Click по координатам
    • Focus
    • Firefox profile
    • Выполнение JavaScript
    • Снятие снимков экрана
День второй

Модуль 5:

  • Создание Maven проекта
  • Работа с ожиданиями и AJAX элементами

Модуль 6:

  • Немного об OOP
  • Паттерны автоматизации с WebDriver
    • Bot Style
    • Page Object
    • Page Factory
    • Element Object
    • Step Object
    • Asserts Layer
    • Entity Classes
    • Data Driven

Модуль 7:

  • Запуск тестов на Jenkins
  • Запуск тестов через Selenium Grid
  • Рекомендации и советы тренера

Тестирование веб приложений с WebDriver/Selenium

На данный момент большая часть приложений так или иначе имеют отношение к веб. Когда возникает вопрос тестирования веб приложений, то очень важно не ошибиться с выбором инструментов тестирования. Инструмент должен быть гибким, иметь полный спектр возможностей для работы с веб приложением, при этом желательно с наименьшими отличиями от способа работы реальных пользователей. Важно чтобы инструменты был прост в использовании и доступен с точки зрения лицензии. Один из таких инструментов – WebDriver/Selenium.

Это открытый продукт, который работает напрямую в браузере, имеет поддержку многих языков программирования, может быть использован на любой платформе. При этом WebDriver/Selenium является очень масштабируемым благодаря архитектуре и использованию Selenium Grid. WebDriver/Selenium давно используется крупными компаниями как Google для тестирования своих сервисов и продуктов.

Данный тренинг создан для того, чтобы не только познакомить вас с WebDriver/Selenium и дать практический опыт в его использовании и внедрении, но также рассмотреть те инструменты, которые существуют на его базе или интегрируются с ним. Ведь это целый отдельный мир, в котором вы можете подобрать себе то, что подходит именно вашему проекту и делает тестирование веб приложений не только эффективным, но и крайне интересным. Дополнительно в тренинге рассматриваются вопросы применения WebDriver/Selenium для приемочного тестирования, работы по TDD и в Agile команде. В результате прохождения тренинга вы:

  • Получите теоретические знания о WebDriver, Selenium IDE, Selenium Grid
  • Узнаете методики его внедрения и применения на проектах разной направленности
  • Пополните багаж огромным количеством полезных практик и советов
  • Попробуете на практике использовать WebDriver/Selenium для написания тестов
  • Узнаете стратегии по ведению и поддержке существующих тестов
  • Увидите как много полезных инструментов существует для WebDriver/Selenium или на его базе (Tellurium, StoryTestIQ, WebTest, PushToTest)

Подробная программа

  • Введение в Selenium. Краткая история развития, преимущества и недостатки
  • Основные концепции WebDriver/Selenium. Обзор возможностей и основных элементов
  • Selenium IDE
    • Принципы работы и основные возможности
    • Пользовательские расширения, плагины и дополнительная настройка IDE
    • Концепция UI-Element и ее использование в IDE
    • Демонстрация
    • Другие способы применения IDE
  • Практическая часть с использованием Selenium IDE. Во время практической части используется тестовое приложение или же система, которую участники собираются тестировать у себя в компании. Тренер оказывает помощь и отвечает на практические вопросы
  • WebDriver
    • Архитектура и основные концепции WebDriver
    • Сравнительный анализ Selenium RC и WebDriver
    • Обзор основного API, работа с клавиатурой и мышкой
    • Приемы по созданию и запуску тестов
    • Оценка инструментов unit-тестирования
    • Работа с разными браузерами, настройками браузеров
    • Обзор других драйверов, специфика использования
    • Демонстрация
    • Переход от Selenium RC к WebDriver
    • Полезные советы по применению WebDriver
  • Практическая часть с использованием WebDriver для написания простых тестов. Во время практической части используется тестовое приложение или же система, которую участники собираются тестировать у себя в компании. Тренер оказывает помощь и отвечает на практические вопросы
  • Подходы в использовании WebDriver/Selenium
    • Тестирование AJAX
    • Улучшение производительности тестов
    • Работа с тестовыми данными
  • Создание надежных тестов с WebDriver
    • Понятие DSL и подходы к его созданию
    • Возможности WebDriver для создания DSL
    • Применения шаблона Page Object и Page Object Factory
    • Применения шаблона Page Element
    • Создание библиотеки компонентов
  • Практическая часть с использованием WebDriver для тестирования AJAX и применением шаблона Page Object. Во время практической части используется тестовое приложение или же система, которую участники собираются тестировать у себя в компании. Тренер оказывает помощь и отвечает на практические вопросы
  • Selenium Grid
    • Философия и варианты использования Grid
    • Демонстрация
    • Использование Amazon EC2
    • Альтернативы Selenium Grid
  • Подходы в использовании WebDriver/Selenium
    • Selenium в Agile команде
    • Применение WebDriver/Selenium для TDD
    • Инструменты для облегчения работы с локаторами
    • Измерение покрытия кода и требований тестами
    • Общие полезные советы
  • Инструменты на базе WebDriver/Selenium
    • Thucydides
    • Selenide
    • Fitnium
    • Twist
    • StoryTestIQ
    • Другие инструменты
  • Ответы на вопросы

Test Activity

Test Activity Text