WindowsComponentsHelper 2025.12.18.1

dotnet add package WindowsComponentsHelper --version 2025.12.18.1
                    
NuGet\Install-Package WindowsComponentsHelper -Version 2025.12.18.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WindowsComponentsHelper" Version="2025.12.18.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WindowsComponentsHelper" Version="2025.12.18.1" />
                    
Directory.Packages.props
<PackageReference Include="WindowsComponentsHelper" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WindowsComponentsHelper --version 2025.12.18.1
                    
#r "nuget: WindowsComponentsHelper, 2025.12.18.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WindowsComponentsHelper@2025.12.18.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WindowsComponentsHelper&version=2025.12.18.1
                    
Install as a Cake Addin
#tool nuget:?package=WindowsComponentsHelper&version=2025.12.18.1
                    
Install as a Cake Tool

WindowsComponentsHelper

Overview

WindowsComponentsHelper is a C# library designed to simplify and standardize UI automation for Windows desktop applications, including WPF and Silverlight, using the Telerik Test Studio (ArtOfTest) framework. It provides reusable component classes and page objects to interact with and validate Windows UI elements in a maintainable and extensible way.

Features

  • Component Abstractions:
    Encapsulates common UI elements (Window, Button, TextBox, ComboBox, TreeView, PropertyGrid, etc.) as reusable components.
  • Page Object Support:
    Encourages the Page Object Model for robust and maintainable test automation.
  • Logging Integration:
    Built-in support for ITestLogger to enable detailed logging of actions and assertions.
  • Timeouts and Waits:
    Consistent handling of timeouts and waits for UI element visibility, existence, and state.
  • Assertion Helpers:
    Methods to assert the presence and visibility of windows and controls.
  • Extensible Base Classes:
    All components inherit from a common BaseComponent for shared functionality.

Getting Started

Prerequisites

Installation

-Add the WindowsComponentsHelper project to your solution and reference it from your test projects.

-ArtOfTest DLL Requirement Important: This package depends on ArtOfTest.WebAii and related Telerik Test Studio assemblies, which are not distributed via NuGet. You must obtain these DLLs from your licensed Test Studio installation and add them as references to your project. How to add ArtOfTest DLLs:

  1. Install Telerik Test Studio or obtain the required DLLs (e.g., ArtOfTest.WebAii.dll, Telerik.WebAii.Controls.Xaml.dll) from your licensed installation.
  2. In your Visual Studio project, right-click the project > Add Reference... > Browse to the DLL location and add them.
  3. Ensure these DLLs are available on your build and test machines.

Example: This package requires manual references to ArtOfTest.WebAii and related DLLs from Telerik Test Studio. These are not included in the NuGet package and must be added to your project references manually.

Example Usage

using ArtOfTest.WebAii.Wpf; using WindowsComponentsHelper.Components; using CommonHelpers.Logging;

// Initialize logger and VisualFind (from your test setup) ITestLogger logger = new MyTestLogger();

VisualFind find = new VisualFind();

// Create a WindowComponent var windowComponent = new WindowComponent(find, logger);

// Find a window by header var mainWindow = windowComponent.GetWindowByHeader("Main Window Title");

// Assert window is visible windowComponent.AssertWindowExist(() ⇒ mainWindow, "Main window should be visible");

Components

  • WindowComponent:
    Methods to find windows by header or caption, check visibility, and assert existence.
  • ButtonComponent:
    Encapsulates button interactions (click, double-click, etc.).
  • TextBoxComponent:
    Methods for setting and getting text in text boxes.
  • ComboBoxComponent, TreeViewComponent, PropertyGridComponent, etc.:
    Specialized components for other common controls.

Logging

All components accept an ITestLogger implementation for action and assertion logging.
You can implement your own logger or use one from CommonHelpers.Logging.

Extending

To add new components:

  1. Inherit from BaseComponent.
  2. Implement control-specific methods.
  3. Use the provided logging and wait utilities.

License

MIT License. See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.12.18.1 262 12/18/2025

Initial release.