

Pain Point 2 - Configuring WebdriverIO and running your first test (somewhat painful) With these prerequisites installed you are ready to automate using WebdriverIO’s test runner - wdio. To run WinAppDriver & Appium on our test environment we need to: In response to a request, it returns a status code and logs to the automation client. Appium accepts commands from WebdriverIO and forwards them to WinAppDriver. The image below shows the communication flow of our solution:Īppium is a RESTful server that acts as a wrapper between WinAppDriver and your automation client. It carries out our mouse clicks and keyboard presses as we request.


WinAppDriver is what does the heavy lifting behind the scenes. WinAppDriver is Microsoft's in-house developed tool to automate Universal Windows Platform (UWP), Windows Forms (WinForms), Windows Presentation Foundation (WPF), and Classic Windows (Win32) applications and is developed with Appium integration in mind. Pain Point 1 - Preparing Test Environment for Automation (lil' painful) The parts that are described in detail were difficult to find good resources on, hence this post. Note: Many parts in this post are only vaguely covered because there are already so many great resources out there. An Automation Server of sorts (details of this are out of scope of this post).A tool to run tests without manual user logon - paexec.A compatible automation client - WebdriverIO.An automation tool to drive your application under test (AUT) - WinAppDriver & Appium.A minimum of Windows 10 or Windows Server 2016 desktop.Here are the weapons we will be wielding to achieve this: You’re thinking, since our web app and mobile app’s e2e testing are already implemented with NodeJS why should testing our windows app be any different? This post is targeted at all you test engineers who do not want to add C# and all the wonderful Visual Studio tools that come with it to your test automation stack.
