Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Winium — это как Selenium, только под
Windows
Головин Глеб
О себе
•  автоматизация обеспечения качества
•  проект Winium
•  курс по тестированию для студентов (Новосибирск)
•  @skyl...
2ГИС — электронная карта и
справочник
•  конечные продукты
•  картография
•  справочник
•  реклама
3
WEB
Тестируем
WEB
Автоматизируем
Selenium для веба
WebDriver
протокол
Appium
сервер
Appium для мобилок
Инфраструктура
Тестовая инфраструктура
Автоматизация Windows-приложений
•  ProtoTest.Golem
•  Coded UI
•  TestComplete
•  Ranorex
•  forcedotcom/windowsphonedriv...
Требования к инструменту
•  Selenium Based
•  OpenSource
16
Selenium-совместимость
•  единое кросс­платформенное решение
•  подходит под нашу инфраструктуру
17
Открытый исходный код
•  исправление ошибок
•  добавление новых фич
•  запилить под себя
18
Поддерживаемые платформы
•  Windows Desktop (WPF, WinForms)
•  Windows Phone
21
WebDriver
протокол
Магия
Winium Driver
Тестируемая
система
Архитектура Winium
Winium — набор инструментов
•  Winium.Desktop https://github.com/2gis/Winium.Desktop
•  Winium.StoreApps https://github.co...
Winium для Desktop
Запуск приложения
from selenium import webdriver
driver = webdriver.Remote (
command_executor ='http://localhost:9999',
de...
Поиск элементов
Локаторы поиска элементов
Локатор Метод
AutomationId find_element_by_id
Name find_element_by_name
ClassName find_element_by_c...
Инспектор элементов интерфейса
Драйвер — весь рабочий стол
Работа с элементами
Реализованы основные команды
Действие Команда
Нажать click()
Получить свойство get_attribute('attr-name')
Получить текст t...
Переключение окна в фокус
win_handle = window.get_attribute(' NativeWindowHandle ')
driver. switch_to.window (win_handle)
...
Создание скриншота
driver. get_screenshot_as_file ('filename')
driver. get_screenshot_as_base64 ()
34
Запуск тестов
Параллелизация
Правило параллельного запуска
1 МАШИНА = 1 ПРИЛОЖЕНИЕ
39
Параллельный запуск тестов
selenium-grid
решение
Параллельный запуск тестов
Настройка тестового окружения
Необходим активный рабочий стол
•  настроить autologon
•  запретить отключение дисплея
•  за...
Запуск build-агента
Служба не может запускать UI
•  использовать планировщик заданий
•  запускать при входе пользователя в...
Подсматриваем за тестами
•  System Center App Controller
•  VNC (клиент/сервер)
•  VLC для записи видео
44
Winium для Windows Phone
github.com/2gis/Winium.StoreApps
Тестовая инфраструктура
Головин Глеб
g.golovin@2gis.ru 
github.com/2gis/Winium
Спасибо
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
Upcoming SlideShare
Loading in …5
×

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

3,702 views

Published on

Доклад Глеба Головина на конференции SQA Days-18, 27-28 ноября 2015 г., Москва
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

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

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

×