Introduction
Welcome to the Hipos documentation - an enterprise-grade automation framework for Windows applications.
What is Hipos?
Hipos is a complete UI automation framework for Windows applications (Win32, WPF, WinForms) built with industry best practices. It combines modern technologies with proven design patterns to provide a robust and maintainable solution.
Key Features
🎯 Robust Automation
- FlaUI with UIA3: Used for launching applications and managing windows
- MSAA via FlaUI: Microsoft Active Accessibility interactions through FlaUI window handles for legacy controls
- Hybrid Search: Intelligent system that detects both UWP and classic Win32 windows
- Smart Waits: Explicit wait system with configurable retry
- Error Handling: Automatic screenshot capture and logs on test failures
- Complex Tests: Real application interactions (clicks, inputs, validations)
- BDD Support: SpecFlow integration for behavior-driven development
📊 Professional Reporting
- ExtentReports 5: Interactive and visual HTML reports with dark theme
- Cucumber JSON: Compatible with Jira/Xray for test management integration
- Automatic Screenshots: Evidence capture on any test failure
- Video Recording: Optional screen recording for test execution (successful and failed)
- Detailed Logs: Serilog with different levels and configurable format
- CI Artifacts: Result export for continuous integration
⚙️ Enterprise Ready
- Page Object Pattern: Clear separation of test logic and UI elements
- Flexible Configuration: appsettings.json + environment variables
- Categorization: Smoke, regression, and custom tag tests
- CI/CD Ready: Workflows for GitHub Actions and Azure DevOps guide
🔧 Developer Friendly
- C# + .NET 8: Modern language with strong typing
- NUnit + SpecFlow: Mature and widely adopted testing frameworks
- Complete Documentation: Docusaurus portal with examples and guides
- Clean Code: Well-organized helpers, wrappers and utilities
- MSAA via FlaUI: Microsoft Active Accessibility interactions accessed through FlaUI window handles
Technology Stack
| Component | Technology | Version |
|---|---|---|
| Language | C# | .NET 8 |
| Test Runner | NUnit | 4.2+ |
| BDD Framework | SpecFlow | 4.0+ |
| Window Management | FlaUI (UIA3) | 4.0+ |
| UI Interactions | MSAA (via FlaUI) | Native Windows |
| HTML Reporting | ExtentReports | 5.0+ |
| JSON Reporting | Cucumber JSON | - |
| Test Management | Jira/Xray | - |
| Logging | Serilog | 3.1+ |
| CI/CD | GitHub Actions | - |
Project Status
✅ Production-Ready - Fully functional framework
Current Tests:
- SpecFlow scenarios for HIPOS login
- MSAA-based interactions (via FlaUI) for critical login controls
- UI validation after authentication
Execution Time:
- Basic tests: ~500ms
- Complex tests: ~16-25s
- Success rate: 100%
Use Cases
Hipos is ideal for:
- ✅ Legacy desktop application automation (Win32, WinForms)
- ✅ Modern WPF application testing
- ✅ Regression testing of enterprise Windows applications
- ✅ Smoke tests in CI/CD pipelines
- ✅ Integration validation between UI components
- ✅ Testing applications with complex UI (grids, trees, custom controls)
- ✅ BDD scenarios for business-readable test cases
- ✅ Test management integration with Jira/Xray
Why Hipos?
vs. Coded UI (deprecated)
Coded UI has been deprecated since Visual Studio 2019. Hipos uses FlaUI for window management and MSAA (via FlaUI) for UI interactions, providing an actively maintained and modern solution.
vs. WinAppDriver
WinAppDriver requires the app to be instrumented and has limitations with custom controls. Hipos uses FlaUI for launching applications and MSAA (accessed through FlaUI window handles) for interacting with any standard Windows application, including legacy controls.
vs. Manual Scripting
Hipos provides structure, patterns, helpers and all the infrastructure ready (reporting, logging, CI/CD, test management integration).
Next Steps
- Getting Started - Set up your environment and install Hipos
- Architecture - Understand the framework structure
- Framework Guide - Learn to use the main components
- Reporting & Logging - Configure reports and Jira/Xray integration
- CI/CD - Integrate with your pipelines
Ready to start? 👉 Getting Started