Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 4.91 KB

README_RU.md

File metadata and controls

65 lines (47 loc) · 4.91 KB

Winium для Desktop

Build Status GitHub release ![GitHub license](https://img.shields.io/badge/license-MPL 2.0-blue.svg?style=flat-square)

Winium.Desktop это реализация Selenium Remote WebDriver для автоматизации тестирования Windows приложений построенных на WinFroms и WPF платформах

Winium.Desktop это open-source инструмент для автоматизации тестирования Windows приложений построенных на WinFroms и WPF платформах.

Поддерживаемые платформы

  • WinForms
  • WPF

Для автоматизации Windows Phone 8.1 есть Windows StoreApps Driver. Для автоматизации Windows Phone 8 Silverlight есть Windows Phone Driver.

Почему Winium?

Уже есть Selenium WebDriver для тестирования веб приложений, Appium для тестирования iOS и Android приложений. А теперь появился Selenium-based инструмент для тестирования Windows приложений. Какие он дает преимущества? Цитируя Appium:

  • You can write tests with your favorite dev tools using any WebDriver-compatible language such as Java, Objective-C, JavaScript with Node.js (in promise, callback or generator flavors), PHP, Python, Ruby, C#, Clojure, or Perl with the Selenium WebDriver API and language-specific client libraries.
  • You can use any testing framework.

А по-русски можно?

  • Пишите тесты, используя ваши любимые инструменты, любой WebDriver-совместимый язык программирования, например, Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure...
  • Используйте любой тестовый фреймворк.

Требования

  • Microsoft .NET Framework 4.5.1

Быстрый старт

  1. Пишите тесты на удобном языке. В тесте используйте app desired capability для задания исполняемого файла приложения. Это пример на python:

    # put it in setUp
    self.driver = webdriver.Remote(command_executor='http://localhost:9999',
                                   desired_capabilities={'app': 'C:\\testApp.exe'})
    # put it in test method body
    win = self.driver.find_element_by_id('WpfTestApplicationMainWindow')
    win.find_element_by_id('SetTextButton').click()
    assert 'CARAMBA' == self.driver.find_element_by_id('MyTextBox').text
  2. Запустите Winium.Desktop.Driver.exe (загрузить последнюю версию с github или соберите проект у себя)

  3. Запустите тесты и балдейте от происходящей магии

Как это работает

Winium.Desktop.Driver реализует Selenium Remote WebDriver и слушает команды в JsonWireProtocol. Для автоматизации действий над приложением используется фреймворк Winium.Cruciatus.

Вклад в развитие

Мы открыты для сотрудничества!

  1. Проверьте нет ли уже открытого issue или заведите новый issue для обсуждения новой фичи или бага.
  2. Форкните репозиторий и начните делать свои изменения в ветке мастер или новой ветке
  3. Мы советуем написать тест, который покажет, что баг был починен или что новая фича работает как ожидается.
  4. Создайте pull-request и тыкайте в мэнтейнера до тех пор, пока он не примет и не сольет ваши изменения. 😃

Контакты

Есть вопросы? Нашли ошибку? Создавайте новое issue или пишите [email protected]

Лицензия

Winium выпущен под MPL 2.0 лицензией. Подробности.