<commit_before><p align="right">
English description | <a href="README_RU.md">Описание на русском</a>
</p>

# Winium for Desktop
[![Build Status](https://img.shields.io/jenkins/s/http/opensource-ci.2gis.ru/Winium.Desktop.svg?style=flat-square)](http://opensource-ci.2gis.ru/job/Winium.Desktop/)
[![GitHub release](https://img.shields.io/github/release/2gis/Winium.Desktop.svg?style=flat-square)](https://github.com/2gis/Winium.Desktop/releases/)
[![GitHub license](https://img.shields.io/badge/license-MPL 2.0-blue.svg?style=flat-square)](LICENSE)

<p align="center">
<img src="https://raw.githubusercontent.com/2gis/Winium.StoreApps/assets/winium.png" alt="Winium.Desktop is Selenium Remote WebDriver implementation for automated testing of Windows application based on WinFroms and WPF platforms">
</p>

Winium.Desktop is an open source test automation tool for automated testing of Windows application based on WinFroms and WPF platforms.

## Supported Platforms
- WinForms
- WPF

For Windows Phone 8.1 test automation tool see [Windows Phone Driver](https://github.com/2gis/Winium.StoreApps).
For Windows Phone 8 Silverlight test automation tool see [Windows Phone Driver](https://github.com/2gis/winphonedriver).

## Why Winium?
You have Selenium WebDriver for testing of web apps, Appium for testing of iOS and Android apps. And now you have Selenium-based tools for testing of Windows apps too. What are some of the benefits? As said by 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.

## Requirements
* Microsoft .NET Framework 4.5.1

## Quick Start
1. Write your tests using you favorite language. In your tests use `app` [desired capability](https://github.com/2gis/Winium.Desktop/wiki/Capabilities) to set path to tested app's exe file. Here is python example:
	```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<commit_msg>README typo fix (#78)<commit_after><p align="right">
English description | <a href="README_RU.md">Описание на русском</a>
</p>

# Winium for Desktop
[![Build Status](https://img.shields.io/jenkins/s/http/opensource-ci.2gis.ru/Winium.Desktop.svg?style=flat-square)](http://opensource-ci.2gis.ru/job/Winium.Desktop/)
[![GitHub release](https://img.shields.io/github/release/2gis/Winium.Desktop.svg?style=flat-square)](https://github.com/2gis/Winium.Desktop/releases/)
[![GitHub license](https://img.shields.io/badge/license-MPL 2.0-blue.svg?style=flat-square)](LICENSE)

<p align="center">
<img src="https://raw.githubusercontent.com/2gis/Winium.StoreApps/assets/winium.png" alt="Winium.Desktop is Selenium Remote WebDriver implementation for automated testing of Windows application based on WinForms and WPF platforms">
</p>

Winium.Desktop is an open source test automation tool for automated testing of Windows application based on WinForms and WPF platforms.

## Supported Platforms
- WinForms
- WPF

For Windows Phone 8.1 test automation tool see [Windows Phone Driver](https://github.com/2gis/Winium.StoreApps).
For Windows Phone 8 Silverlight test automation tool see [Windows Phone Driver](https://github.com/2gis/winphonedriver).

## Why Winium?
You have Selenium WebDriver for testing of web apps, Appium for testing of iOS and Android apps. And now you have Selenium-based tools for testing of Windows apps too. What are some of the benefits? As said by 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.

## Requirements
* Microsoft .NET Framework 4.5.1

## Quick Start
1. Write your tests using you favorite language. In your tests use `app` [desired capability](https://github.com/2gis/Winium.Desktop/wiki/Capabilities) to set path to tested app's exe file. Here is python example:
	```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
{'fraction_non_alphanumeric': 0.1158169409875552, 'fraction_numerical': 0.008831794460056202, 'mean_word_length': 4.8623529411764705, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 21, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1104420', 'n_tokens_mistral': 1572, 'n_tokens_neox': 1488, 'n_words': 468}