Automated GUI Testing for Windows Apps
Streamline GUI Testing Across Legacy and Modern Windows Apps
Squish enables QA teams to automate robust GUI tests for Windows applications built on .NET, supporting both classic .NET testing scenarios and modern WinUI platforms. Accelerate Windows testing workflows, eliminate manual testing bottlenecks, and ensure consistent test coverage across evolving versions. All fully integrated with your CI/CD pipelines.
Bugs Don’t Stand a Chance
Join Teams Who Have Cut Testing Time From Weeks to Hours
What is Squish?
Squish is a powerful GUI test automation tool for Windows application testing, designed to support applications built with .NET (WinForms, WPF), MFC, and more. No source code access or app changes needed.
It provides reliable, object-based Windows GUI testing and fits seamlessly into CI/CD workflows. From one IDE, Squish lets you test not only Windows applications, but also Qt, Java, Web, and mobile, ideal for cross-platform teams.
Squish fits seamlessly into your workflow with native support for:
- CI/CD tools (Jenkins, Azure DevOps, GitHub Actions, GitLab CI/CD, TeamCity)
- Test management platforms (e.g.,
Jira (with Squish-to-Jira issue linking), TestRail, Zephyr, Micro Focus ALM / Quality Center)
-
APIs and CLI for orchestration and reporting
-
Cross-functional collaboration, from developers to manual testers
CI/CD Automation—No Rewrites Required
Bring Legacy .NET Apps Into the DevOps Era
Your legacy Windows applications—built on WinForms, WPF, MFC, or other .NET frameworks—are too critical to touch, yet too important to leave untested.
With Squish, you don’t have to modernize the code to modernize the testing, as Squish brings full-featured Windows GUI automation and .NET testing to legacy desktop applications, enabling effective automated testing of Windows applications.
Automate GUI Tests for Legacy .NET Apps
With Squish, you can automate .NET testing for WinForms, WPF, MFC, and other Windows-native UIs without needing access to source code or modifying your application.
Seamlessly Integrate into CI/CD Pipelines
Run automated tests via Jenkins, Azure DevOps, GitHub Actions, and more, triggered on commit, schedule, or deployment events.
Script Robust Tests
Use familiar scripting languages with full access to test objects, logic, and conditionals. No vendor lock-in or proprietary syntax. Use Python, JavaScript, Perl, Ruby, Visual Studio or Eclipse.
Leverage APIs for Test Orchestration and Reporting
Control test execution, pull results, and integrate reporting into your DevOps toolchain via Squish’s command-line interface and APIs.
Maintainable Object-Based Testing
Squish identifies UI elements by properties (not screen position), so your tests stay resilient even as the UI evolves, making it ideal for long-term Windows GUI automation.
Cross-Version and Cross-Platform Consistency
Write once, run across different Windows OS versions and application builds, ensuring consistent validation throughout the product lifecycle. Key for scalable Windows testing strategies.
Behavior-Driven Development (BDD) with Gherkin
Bridge the Gap Between Testers, Developers, and Business Stakeholders
Squish supports Gherkin syntax, making it easy to write clear, human-readable test scenarios that describe how your application should behave before a single line of code is tested.
Whether you're working in cross-functional teams or managing complex acceptance criteria, BDD helps align everyone around shared expectations, especially in Windows GUI testing and .NET testing environments.
Write in Plain English
Create readable test scenarios using Gherkin's Given/When/Then format.
Automate Gherkin Scenarios
Directly link each scenario to a Squish GUI test for full automation.
Enhance Collaboration
Keep business logic visible and maintainable for all team members
Integrate with BDD Toolchains
Use Squish within existing workflows alongside tools like Cucumber and Jira.
Simplify Test Reviews
Simplify test reviews with clear, non-technical language everyone on the team can understand
Take a Tour: GUI Testing for Windows Apps
Start an interactive tour and take a look inside Squish GUI Tester. The interface is built for both power and simplicity: record tests visually, enhance them with code, and manage everything from a single, unified view.
Why Teams Add Squish to Their QA Process
Manual GUI testing plays an important role, but it can’t keep up with fast development cycles. As applications grow more complex, manual testing alone makes it harder to maintain quality and meet deadlines, especially in the context of Windows testing.
Modern applications especially are rarely built on a single technology. Many combine .NET (WinForms, WPF) with embedded web components like HTML5, JavaScript, or WebViews, creating complex, hybrid UIs that most testing tools can’t handle.
Single IDE for Hybrid GUI Testing
Built for real-world enterprise applications, Squish provides a single, integrated development environment (IDE) to automate end-to-end GUI testing across both native and web layers. No more juggling separate tools or stitching together frameworks.
With Squish, you can create and run functional tests for hybrid Windows apps that use combinations of .NET, WinUI, embedded web views, or custom controls.
Ready to Try Yourself?
Step 1: Register for your Squish Evaluation
Step 2: Download trial and install
Step 3: Read our "Getting Started Guide" or check documentation
Step 4: Test your own application
Step 5: Integrate with your CI pipeline
Step 6: Analyze test results in Test Center
Reasons for Automating Windows App Testing
Reduce Release Risk
Are bugs still slipping through even after manual QA sign-off?
Squish helps catch UI regressions early, before they reach production. This means faster releases with fewer bugs and less firefighting. Your team ships with confidence, customers stay happy, and your brand reputation stays intact.
Save QA Time with Automation
How much time does your team spend repeating the same tests every sprint?
Automate even the most complex GUI tests for Windows apps, from WinUI to .NET. Squish frees testers from repetitive tasks so they can focus on exploratory and usability testing. Boost your team's productivity without expanding QA teams.
Lower Total Cost of Ownership (TCO)
Is your testing stack becoming more complex — or more efficient — as your app evolves?
No special hardware, no proprietary languages. Squish works with your current tools and skills. That means lower setup and training costs. More automation, less overhead.
Faster Feedback Loops
How long does it take your team to detect a broken build today?
Run GUI tests after every build or pull request. Squish integrates into CI pipelines, giving developers fast feedback and helping QA catch issues early before they become costly defects.
Improve Test Coverage
Are high-risk UI paths getting tested as often as they should?
Gain Test Visibility Across Teams
/QA_icon_Violet_InsightTesting_enhanced.png?width=140&height=140&name=QA_icon_Violet_InsightTesting_enhanced.png)
Do your developers, testers, and PMs all see the same test results?
Keep Tests in Sync with Application Changes
Are your GUI tests keeping up with your evolving codebase?
“Squish is the best GUI testing tool I’ve worked with. Its runtime performance is great and it has a low barrier to get up and running.”
Joshua Niehus, SQA Engineer for UI Automation, Bio-Rad Laboratories
Squish for Windows Applications
Use Squish as your GUI test automation tool for all kinds of native Windows applications. The tool automates GUI tests on all Windows platforms, with dedicated support for all standard and complex Windows, MFC, .NET controls and more. Enhance your scripts with dynamic script and spy access as well as access to the complete Windows and .NET APIs.
Squish includes dedicated support for:
Native Windows applications
Standard Windows and MFC controls
Complex Windows and MFC controls (Item views, menus, tabs, etc.)
Standard .NET Windows Forms controls
Complex .NET Windows Forms controls (Item views, menus, tabs, etc.)
Standard .NET WPF (Windows Presentation Foundation) controls
Complex .NET WPF (Windows Presentation Foundation) controls (Item views, menus, tabs, etc.)
Excel spreadsheets (accessing sheets, cells, etc.)
Infragistics .NET Advantage controls
Exontrol controls
Plex controls
Visual Basic (6.x and .NET) controls
Embedded web content
Complex custom controls using extension plugin mechanism
Standard and complex objects and object property access
Remote testing of applications and multi-application tests
Insightful Test Reporting for Informed Decision-making
Test Center is the Next Step
All test results from Squish can be centrally viewed and analyzed using Squish Test Center, or accessed programmatically via its robust APIs.
- Capture rich test artifacts including screenshots, logs, and metadata to quickly diagnose failures and improve traceability
- Use REST APIs to feed test results into CI/CD pipelines, dashboards, or reporting tools. Perfect for scaling across teams
Whether you’re tracking trends over time or need instant visibility into a failed build, Squish makes results meaningful and accessible.
Integrated reporting means faster feedback loops.
Squish for Other GUI Frameworks
The beauty of Squish is that it is compatible with a wide range of browsers, operating systems, and platforms.
Beyond Windows applications, it can also be used to automate Qt, Java, Web and HTML5, Android and iOS, macOS, and Tk applications. It also supports all applications running on desktop, mobile, or embedded devices capable of running a VNC server.
How to Make GUI Tests Work Across Multiple Windows Versions
Discover how to build stable, cross-version GUI automation for Windows applications. Learn why tests break across Windows versions, and how to fix them with object-based recognition, smart synchronization, and platform-aware strategies.
Legacy Applications Aren’t Going Away. Here’s How to Test Their GUI Properly in 2025
Learn how to automate GUI testing for legacy Windows applications in regulated industries. Discover how Squish enables robust testing without code access or system rewrites.
Squish Getting Started Guide
The Evaluation Guide is here to support you throughout the process of an evaluation, from downloading the tool to the point of installing and starting the use.
Latest Release – Squish 9.0
Squish 9.0 introduces support for microcontroller units (MCUs) through the new Squish for MCU edition, enabling GUI test automation on embedded systems. It also adds compatibility with Android Automotive and IPv6 network connections, enhancing its versatility across platforms.
Success Stories
.webp)
"What’s really key for us—since we have to perform end-to-end integration testing without always having access to all the source code—is a tool like Squish that can interact with an application on Linux and another on Windows. It provides exactly what we need."

“Squish is the best GUI testing tool. Its runtime performance is great and it has a low ‘barrier’ to get up and running. It feels much more lightweight and flexible than any other tool I’ve used (that includes Ranorex, Silk, and QA Wizard Pro).”
Start Automating Windows GUI Tests in Minutes
Frequently Asked Questions
What is the best way to automate testing of Windows desktop applications?
How do I test legacy Windows applications like MFC or VB6?
Can Windows GUI testing be part of a CI/CD pipeline?
What are the main challenges in automating Windows GUI testing?
Automating Windows GUI testing poses several challenges. Many applications use custom controls that don’t expose consistent properties for automation tools to interact with. UI elements might not have unique identifiers, which makes it difficult to locate them reliably in scripts. Modal dialogs and popups can interrupt automated flows, and timing issues often lead to flaky test results. Additionally, running desktop UI tests in a headless or CI environment is not as straightforward as with web applications. These challenges require robust tooling, and solutions like Squish are designed to address them by offering deep UI integration, synchronization mechanisms, and flexible scripting.
Can I automate Windows UI tests without access to source code?
Is there a way to reuse the same UI tests across platforms?
How do I test pop-up dialogs and modal windows in desktop applications?
Why should we invest in GUI automation for Windows apps?
Why choose Squish GUI Tester over other tools?
Squish is a trusted solution in industries where reliability, traceability, and compliance are non-negotiable. It’s widely used in automotive, medical, aerospace, industrial automation, and heavy vehicle sectors, where software quality directly impacts safety and regulatory approval.
Squish supports compliance with critical safety standards such as ISO 26262, IEC 62304, IEC 61508, and IEC 50128/50657, making it a perfect fit for companies building regulated Windows applications. As part of The Qt Group, Squish offers reliable updates, expert support, and extensive documentation.
Supporting multiple technologies and languages, Squish requires minimal setup, and is ideal even for testers with limited coding skills.
How do I create automated GUI tests for Windows apps with Squish?
How will Squish help me manage my team better?
Why is Squish a tool I’ll love using?
How do I get started?
You can start with a 10-day freemium license of Squish to try it with your team—no credit card required, no obligation. It’s a full-featured trial, so you can evaluate everything from test recording to CI integration. You’ll also get access to documentation, tutorials, and optional expert support to help you hit the ground running.