![GitHub license](https://img.shields.io/badge/license-MPL 2.0-blue.svg?style=flat-square)
Winium.Desktop это open-source инструмент для автоматизации тестирования Windows приложений построенных на WinFroms и WPF платформах.
- WinForms
- WPF
Для автоматизации Windows Phone 8.1 есть Windows StoreApps Driver. Для автоматизации Windows Phone 8 Silverlight есть Windows Phone Driver.
Уже есть 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
-
Пишите тесты на удобном языке. В тесте используйте
app
desired capability для задания исполняемого файла приложения. Это пример на python:# put it in setUp self.driver = webdriver.Remote(command_executor='http://localhost:9999', desired_capabilities={'app': 'C:\\testApp.exe', 'args': '-port 345'}) # 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
-
Запустите
Winium.Desktop.Driver.exe
(загрузить последнюю версию с github или соберите проект у себя) -
Запустите тесты и балдейте от происходящей магии
Winium.Desktop.Driver реализует Selenium Remote WebDriver и слушает команды в JsonWireProtocol. Для автоматизации действий над приложением используется фреймворк Winium.Cruciatus.
Мы открыты для сотрудничества!
- Проверьте нет ли уже открытого issue или заведите новый issue для обсуждения новой фичи или бага.
- Форкните репозиторий и начните делать свои изменения в ветке мастер или новой ветке
- Мы советуем написать тест, который покажет, что баг был починен или что новая фича работает как ожидается.
- Создайте pull-request и тыкайте в мэнтейнера до тех пор, пока он не примет и не сольет ваши изменения. 😃
Есть вопросы? Нашли ошибку? Создавайте новое issue или пишите [email protected]
Winium выпущен под MPL 2.0 лицензией. Подробности.