{"id":20618001,"url":"https://github.com/applitools/winappdriver-examples","last_synced_at":"2025-03-06T19:42:58.422Z","repository":{"id":66340092,"uuid":"102042624","full_name":"applitools/WinAppDriver-Examples","owner":"applitools","description":"Applitools Code Examples for WinAppDriver","archived":false,"fork":false,"pushed_at":"2020-11-22T16:51:14.000Z","size":18235,"stargazers_count":1,"open_issues_count":1,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-17T04:46:46.877Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/applitools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-31T20:34:58.000Z","updated_at":"2020-11-22T16:51:17.000Z","dependencies_parsed_at":"2023-02-26T22:30:58.465Z","dependency_job_id":null,"html_url":"https://github.com/applitools/WinAppDriver-Examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applitools%2FWinAppDriver-Examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applitools%2FWinAppDriver-Examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applitools%2FWinAppDriver-Examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/applitools%2FWinAppDriver-Examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/applitools","download_url":"https://codeload.github.com/applitools/WinAppDriver-Examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242277528,"owners_count":20101534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T12:06:45.613Z","updated_at":"2025-03-06T19:42:58.415Z","avatar_url":"https://github.com/applitools.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# WinAppDriver-Examples\nApplitools Code Examples for WinAppDriver\n\nWindows Application Driver is a service to support Selenium-like UI Test Automation on Windows Applications. This service supports testing **Universal Windows Platform (UWP)** and **Classic Windows (Win32)** apps on **Windows 10 PCs**. Windows Application Driver complies to the [JSON Wire Protocol](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol) standard and some application management functionalities defined by **Appium**. If you've been looking for better support for using [Appium](http://appium.io) to test Windows Applications, then this service is for you!\n\n## Getting Started\n\n* More WinAppDriver information can be found [here](https://github.com/Microsoft/WinAppDriver) *\n\n### System Requirements\n\n- Windows 10 PC\n- Any Appium test runner (Samples and Tests in this repository use Microsoft Visual Studio as the test runner)\n\n### Installing and Running Windows Application Driver\n\n1. Download Windows Application Driver installer from \u003chttps://github.com/Microsoft/WinAppDriver/releases\u003e\n2. Run the installer on a Windows 10 machine where your application under test is installed and will be tested\n3. Run `WinAppDriver.exe` from the installation directory (E.g. `C:\\Program Files (x86)\\Windows Application Driver`)\n\nWindows Application Driver will then be running on the test machine listening to requests on the default IP address and port (`127.0.0.1:4723`). You can then run any of our [Tests](/Tests/) or [Samples](/Samples). `WinAppDriver.exe` can be configured to listen to a different IP address and port as follows:\n\n```\nWinAppDriver.exe 4727\nWinAppDriver.exe 10.0.0.10 4725\nWinAppDriver.exe 10.0.0.10 4723/wd/hub\n```\n\n\u003e **Note**: You must run `WinAppDriver.exe` as **administrator** to listen to a different IP address and port.\n\n### Running on a Remote Machine\n\nWindows Application Driver can run remotely on any Windows 10 machine with `WinAppDriver.exe` installed and running. This *test machine* can then serve any JSON wire protocol commands coming from the *test runner* remotely through the network. Below are the steps to the one time setup for the *test machine* to receive inbound requests:\n\n1. On the *test machine* you want to run the test application on, open up **Windows Firewall with Advanced Security**\n   - Select **Inbound Rules** -\u003e **New Rule...**\n   - **Rule Type** -\u003e **Port**\n   - Select **TCP**\n   - Choose specific local port (4723 is WinAppDriver standard)\n   - **Action** -\u003e **Allow the connection**\n   - **Profile** -\u003e select all\n   - **Name** -\u003e optional, choose name for rule (e.g. WinAppDriver remote)\n2. Run `ipconfig.exe` to determine your machine's local IP address\n   \u003e **Note**: Setting `*` as the IP address command line option will cause it to bind to all bound IP addresses on the machine\n3. Run `WinAppDriver.exe` as **administrator** with command line arguments as seen above specifying local IP and port\n4. On the *test runner* machine where the runner and scripts are, update the the test script to point to the IP of the remote *test machine*\n5. Execute the test script on the *test runner* to perform the test actions against the test application on the remote *test machine*.\n\n### Running the examples\n* C# (Currently does not work)\n   1. Open `CalculatorTest.sln` in Visual Studio\n   2. Add your Applitools API key in ScenarioStandard.cs\n   3. Select **Test** \u003e **Windows** \u003e **Test Explorer**\n   4. Select **Run All** on the test pane or through menu **Test** \u003e **Run** \u003e **All Tests**\n    Once the project is successfully built, you can use the **TestExplorer** to pick and choose the test scenario(s) to run\n\n* Java\n   1. Open WinAppDriver project in Eclipe or intelliJ\n   2. Build the project to download the maven dependencies.\n   3. Open WinAppDriver \u003e src \u003e test \u003e java \u003e CalculatorTest.java\n   4. Add your Applitools API key.\n   5. Right click and select run test.\n\n* JavaScript (Currently does not work)\n   1. Open calculator.js in your favorite editor.\n   2. Add your applitools API key.\n   3. In terminal run: `node calculator.js`\n\n* Python\n   1. Open calculator.py in your favorite editor.\n   2. Add your applitools key.\n   3. In terminal run: `python calculator.py`\n\n* Ruby\n   1. Open calculator.rb in your favorite editor.\n   2. Add your applitools API Key.\n   3. In terminal run: `rspec calculator.rb`\n   \n## Inspecting UI Elements\n\nThe latest Microsoft Visual Studio version by default includes the Windows SDK with a great tool to inspect the application you are testing. This tool allows you to see every UI element/node that you can query using Windows Application Driver. This **inspect.exe** tool can be found under the Windows SDK folder which is typically `C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x86`\n\nMore detailed documentation on Inspect is available on MSDN \u003c\"https://msdn.microsoft.com/library/windows/desktop/dd318521(v=vs.85).aspx\"\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplitools%2Fwinappdriver-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapplitools%2Fwinappdriver-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplitools%2Fwinappdriver-examples/lists"}