Leanpub Header

Skip to main content

Practical Windows Desktop App Test Automation with Appium

Test Windows desktop apps wisely with Appium

Practical Windows Desktop App Test Automation with Appium
This book is 100% completeLast updated on 2026-11-10

Facebook releases twice a day; LinkedIn pushes out updates several times a day. What do they do in common to achieve that? Comprehensive automated UI testing.

Minimum price

$25.00

$35.00

You pay

Authors earn

$

Also available for 1 book credit with a Reader Membership

PDF
EPUB
WEB
APP
258
Pages
35,167Words
About

About

About the Book

While few people question the benefits of test automation, comprehensive UI-based automated testing of Windows desktop applications remains uncommon in software projects. Why do so many projects struggle to succeed?

Three common challenges stand in the way:

  • Difficult to learn: Desktop automation scripts can be complex, and automation tools are not always easy to use.
  • Hard to maintain: UI tests are vulnerable to changes in application interfaces, controls, and window structures.
  • Long feedback loop: Automated test suites can take too long to execute, making it difficult to get timely feedback.

To succeed with UI-based automated testing, software projects need to overcome all three challenges.

This book presents a practical, hands-on approach to implementing Windows desktop application test automation using Appium. It covers topics including:

  • Developing readable and maintainable Appium test scripts using Ruby
  • Inspecting Windows desktop applications and identifying UI elements and locators
  • Automating common desktop interactions, including mouse and keyboard actions
  • Designing maintainable functional tests
  • Applying the Page Object Model
  • Refactoring functional tests for better readability and maintainability
  • Setting up Continuous Testing (CT) to manage and execute automated tests
  • Strategies for team collaboration and successful test automation adoption

To help readers learn more effectively, the book has a dedicated website containing supporting resources, including software, sample test scripts, example desktop applications, and tutorial screencasts.

Share this book

Author

About the Authors

Zhimin Zhan

Zhimin Zhan is the founder and principal agile testing coach of AgileWay Pty Ltd, Australia. As an advisor and coach, he helps organisations implement test automation using Continuous Testing with open technologies, such as Selenium WebDriver / Appium. Zhimin is the creator of TestWise, the next-generation functional testing tool that supports functional test refactorings, and BuildWise, an international award-winning Continuous Testing Server. Zhimin is a frequent speaker and author of 14 books on software testing and programming. He shares his test automation and CI experience on Substack and Medium.

Courtney Zhan

Courtney Zhan is a Software Development Engineer at Amazon Japan, with a passion for end-to-end test automation, programming, continuous testing, and graphic design. She shares tips and insights on test automation and continuous testing weekly on Medium and Substack. Courtney is the published author of ‘Selenium WebDriver Recipes in C#’ by Apress, and 21 of her articles have been featured on software testing newsletters.

Contents

Table of Contents

Preface

  1. Who should read this book
  2. How to read this book
  3. Send me feedback

Introduction

  1. Test automation benefits
  2. Test Automation success factors
  3. Why traditional commercial testing tools all failed?
  4. Choose a right automation framework
  5. Appium + WindowsDriver is the solution, period
  6. Synergy of web app and native app testing
  7. Desktop App Automation is harder than Web’s
  8. Challenges with Appium + WindowsDriver
  9. Next action

First Appium Automation Script

  1. Appium’s Client-Server Architecture
  2. Set up the execution environment
  3. Set up Appium Server v3 with WinCore Driver
  4. Set up Appium Client
  5. Appium set up on Windows ARM64
  6. First Appium Desktop App Test
  7. Control Inspector
  8. Test Tools
  9. Review

Test Syntax Framework

  1. RSpec Framework
  2. Transform automation scripts to test scripts
  3. Run RSpec tests
  4. Alternative test syntax frameworks

Find App Window

  1. A closer look at the script
  2. Launch UWP App by AppId
  3. Launch Classic App by executable
  4. Launch app with arguments
  5. Attach an Appium session to an existing App Window

Appium Locators

  1. How to identify UI elements in native apps?
  2. Appium Inspector
  3. Other tools for inspecting Windows Native Apps
  4. Appium’s six locators
  5. Chain find_element to find child elements
  6. Guide on selecting locator?
  7. Advice on performance
  8. Find multiple elements
  9. Review

Putting It All Together

  1. Get App and Element Information
  2. An End-To-End Notepad scenario
  3. Stablize
  4. Refine
  5. Wrap-up

Keyboard and Mouse

  1. Keyboard
  2. Mouse
  3. W3C Actions API

Assertions

  1. Assert Window title
  2. Assert Text in an Edit control
  3. Assert a control’s attributes
  4. Assert text present
  5. Assert CheckBox is checked
  6. Assert not …
  7. Assert RadioButton is checked
  8. Assert Disabled
  9. Assert ComboBox option
  10. Check equal of two elements

Review

  1. Syntax errors
  2. Waiting
  3. Set up source control
  4. GUI/Object map
  5. Custom libraries
  6. Debugging
  7. What is the best learning method?
  8. Wrap-up

Test Maintenance

  1. Linear test steps are difficult to maintain
  2. Maintainable automated test design
  3. Don’t Repeat Yourself
  4. Maintain with ease
  5. Wrap-up

Improve Efficiency

  1. Simple project structure
  2. Test execution
  3. Quick navigation
  4. Fast Editing with Snippets
  5. Script library
  6. Test refactoring
  7. Debug test scripts
  8. Wrap-up

Functional Test Refactoring

  1. Functional test refactoring
  2. Tool support
  3. Case study
  4. Wrap-up

Test Data

  1. Test data needs to be reusable
  2. Generate Test Data on the fly
  3. Retrieve data from Database
  4. Reset data

Case Study: Test TestWise IDE

  1. Launch App
  2. Dismiss the Splash Screen
  3. Launch TestWise cleanly
  4. App Version
  5. Custom execution with Environment Variables
  6. Common UI elements
  7. Launch App with Argument
  8. Reusable Test Data
  9. Open a specific test file
  10. Test Automation Support in App
  11. Context Click
  12. Drag and drop
  13. Verify a file moved
  14. Wrap-up

Continuous Testing

  1. CT Overview
  2. Prerequisite
  3. Continuous Testing Steps
  4. Parallel Test Execution with Build Agents
  5. Parallel Testing Lab
  6. Ongoing maintenance
  7. Test Stats or Reports

Appium in other languages

  1. Appium with Python
  2. Appium with C#
  3. Wrap-up

Afterword

  1. Practice makes perfect
  2. Successful Test Automation

Appendix 1 - Appium v1 set up

  1. Install and start Appium server v1
  2. Enable Developer mode on Windows 10
  3. Ruby Library for Appium v1 - appium_lib

Resources

  1. Books
  2. Web Sites
  3. Tools
  4. Blog

References

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub