SlideShare a Scribd company logo
Winium — это как Selenium, только под
Windows
Головин Глеб
О себе
•  автоматизация обеспечения качества
•  проект Winium
•  курс по тестированию для студентов (Новосибирск)
•  @skyline­gleb
2
2ГИС — электронная карта и
справочник
•  конечные продукты
•  картография
•  справочник
•  реклама
3
Winium — это как Selenium, только под Windows
WEB
Тестируем
WEB
Автоматизируем
Winium — это как Selenium, только под Windows
Selenium для веба
Winium — это как Selenium, только под Windows
WebDriver
протокол
Appium
сервер
Appium для мобилок
Инфраструктура
Тестовая инфраструктура
Winium — это как Selenium, только под Windows
Автоматизация Windows-приложений
•  ProtoTest.Golem
•  Coded UI
•  TestComplete
•  Ranorex
•  forcedotcom/windowsphonedriver
•  Expensify/WindowsPhoneTestFramework
•  ...
14
Winium — это как Selenium, только под Windows
Требования к инструменту
•  Selenium Based
•  OpenSource
16
Selenium-совместимость
•  единое кросс­платформенное решение
•  подходит под нашу инфраструктуру
17
Открытый исходный код
•  исправление ошибок
•  добавление новых фич
•  запилить под себя
18
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Поддерживаемые платформы
•  Windows Desktop (WPF, WinForms)
•  Windows Phone
21
WebDriver
протокол
Магия
Winium Driver
Тестируемая
система
Архитектура Winium
Winium — набор инструментов
•  Winium.Desktop https://github.com/2gis/Winium.Desktop
•  Winium.StoreApps https://github.com/2gis/Winium.StoreApps
23
Winium для Desktop
Winium — это как Selenium, только под Windows
Запуск приложения
from selenium import webdriver
driver = webdriver.Remote (
command_executor ='http://localhost:9999',
desired_capabilities=
{'app' : 'C:/windows/system32/calc.exe'})
26
Поиск элементов
Локаторы поиска элементов
Локатор Метод
AutomationId find_element_by_id
Name find_element_by_name
ClassName find_element_by_class_name
XPath find_element_by_xpath
28
Инспектор элементов интерфейса
Драйвер — весь рабочий стол
Работа с элементами
Реализованы основные команды
Действие Команда
Нажать click()
Получить свойство get_attribute('attr-name')
Получить текст text()
Включен? is_enabled()
... ...
32
Переключение окна в фокус
win_handle = window.get_attribute(' NativeWindowHandle ')
driver. switch_to.window (win_handle)
33
Создание скриншота
driver. get_screenshot_as_file ('filename')
driver. get_screenshot_as_base64 ()
34
Запуск тестов
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Параллелизация
Правило параллельного запуска
1 МАШИНА = 1 ПРИЛОЖЕНИЕ
39
Параллельный запуск тестов
selenium-grid
решение
Параллельный запуск тестов
Настройка тестового окружения
Необходим активный рабочий стол
•  настроить autologon
•  запретить отключение дисплея
•  запретить сон
•  RDP = перезагрузка
42
Запуск build-агента
Служба не может запускать UI
•  использовать планировщик заданий
•  запускать при входе пользователя в систему
•  права администратора
43
Подсматриваем за тестами
•  System Center App Controller
•  VNC (клиент/сервер)
•  VLC для записи видео
44
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium для Windows Phone
github.com/2gis/Winium.StoreApps
Тестовая инфраструктура
Головин Глеб
g.golovin@2gis.ru 
github.com/2gis/Winium
Спасибо

More Related Content

PDF
«Тестируем веб приложения», Павел Сташевский
PDF
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
GUI-автоматизация в Telerik Test Studio
PDF
WP как экспериментальная платформа
PDF
Дефицит ресурсов тестирования... или нет?
PPTX
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
PDF
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования
«Тестируем веб приложения», Павел Сташевский
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
GUI-автоматизация в Telerik Test Studio
WP как экспериментальная платформа
Дефицит ресурсов тестирования... или нет?
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
CodeFest 2014. Павлов И. — Как делать прототипы в автоматизации тестирования

What's hot (20)

PDF
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
PDF
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
PDF
Тестируем мобильное приложение в суровых реалиях Интернета
PPTX
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
PPTX
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
PPTX
Free Desktop QA Engineers: implement automation testing
PPTX
Типовая сборка и деплой продуктов в Positive Technologies
PPTX
Тестирование REST-сервисов с применением инженерных практик
PDF
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
PPTX
Как мы собираем проекты в выделенном окружении в Windows Docker
PPTX
Использование анализатора кода SonarQube
PPTX
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
PPTX
Автоматическое тестирование Web api
PPTX
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
PDF
Как Cluster Membership Software может помочь QA
PPTX
selenium stack in python
PDF
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
PPTX
Docker + Selenium Webdriver в рамках Continuous Integration
PDF
UICov - инструмент анализа покрытия UI-тестами
PDF
Автоматическое тестирование. Моя система
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Тестируем мобильное приложение в суровых реалиях Интернета
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Free Desktop QA Engineers: implement automation testing
Типовая сборка и деплой продуктов в Positive Technologies
Тестирование REST-сервисов с применением инженерных практик
Илья Кудинов «Развитие процессов тестирования в Badoo за три года, или как мы...
Как мы собираем проекты в выделенном окружении в Windows Docker
Использование анализатора кода SonarQube
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр Ковалев
Автоматическое тестирование Web api
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Как Cluster Membership Software может помочь QA
selenium stack in python
QA Fest 2016. Дмитрий Химион. Векторы развития систем автоматизации тестиров...
Docker + Selenium Webdriver в рамках Continuous Integration
UICov - инструмент анализа покрытия UI-тестами
Автоматическое тестирование. Моя система
Ad

Similar to Winium — это как Selenium, только под Windows (9)

PDF
Автоматизация UI тестирования под Windows и Windows Phone
PPTX
Automation testing desktop applications
PDF
Testing with Selenium
PPTX
Тестируем мобильные приложения в облаках с appium
PPTX
Automation Functional Testing in Agile Projects
PPT
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
PPT
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
PPTX
Web driver история одной миграции
PPTX
Автоматизируем GUI тесты на питоне
Автоматизация UI тестирования под Windows и Windows Phone
Automation testing desktop applications
Testing with Selenium
Тестируем мобильные приложения в облаках с appium
Automation Functional Testing in Agile Projects
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
Web driver история одной миграции
Автоматизируем GUI тесты на питоне
Ad

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...

Winium — это как Selenium, только под Windows