Skip to main content

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

ComponentTechnologyVersion
LanguageC#.NET 8
Test RunnerNUnit4.2+
BDD FrameworkSpecFlow4.0+
Window ManagementFlaUI (UIA3)4.0+
UI InteractionsMSAA (via FlaUI)Native Windows
HTML ReportingExtentReports5.0+
JSON ReportingCucumber JSON-
Test ManagementJira/Xray-
LoggingSerilog3.1+
CI/CDGitHub 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

  1. Getting Started - Set up your environment and install Hipos
  2. Architecture - Understand the framework structure
  3. Framework Guide - Learn to use the main components
  4. Reporting & Logging - Configure reports and Jira/Xray integration
  5. CI/CD - Integrate with your pipelines

Ready to start? 👉 Getting Started