OneStreamAutoLibrary.WebUIHelpers 2026.1.16.1

dotnet add package OneStreamAutoLibrary.WebUIHelpers --version 2026.1.16.1
                    
NuGet\Install-Package OneStreamAutoLibrary.WebUIHelpers -Version 2026.1.16.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="OneStreamAutoLibrary.WebUIHelpers" Version="2026.1.16.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OneStreamAutoLibrary.WebUIHelpers" Version="2026.1.16.1" />
                    
Directory.Packages.props
<PackageReference Include="OneStreamAutoLibrary.WebUIHelpers" />
                    
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 OneStreamAutoLibrary.WebUIHelpers --version 2026.1.16.1
                    
#r "nuget: OneStreamAutoLibrary.WebUIHelpers, 2026.1.16.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 OneStreamAutoLibrary.WebUIHelpers@2026.1.16.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=OneStreamAutoLibrary.WebUIHelpers&version=2026.1.16.1
                    
Install as a Cake Addin
#tool nuget:?package=OneStreamAutoLibrary.WebUIHelpers&version=2026.1.16.1
                    
Install as a Cake Tool

WebUIHelpers

A cross-platform library for web UI automation using Selenium WebDriver, targeting .NET Standard 2.0 and .NET 8. This library provides reusable page objects, components, and helpers for building maintainable browser automation tests for web applications.

Integration

WebUIHelpers depends on and uses:

  • SeleniumHelpers - Selenium WebDriver infrastructure, browser management, and automation base classes
  • CommonHelpers - Shared utilities, logging interfaces (ITestLogger), reporting, and common infrastructure

This library is designed to be consumed by web test projects requiring page object models and reusable web UI components.

Features

  • Page Object Model (POM):
    Structured, maintainable page objects for web UI automation

  • Reusable Components:
    Pre-built components for common web elements:

    • ButtonComponent - Button interactions
    • TextBoxComponent - Text input operations
    • BaseComponent - Base class for custom components
  • Common Page Objects:
    Ready-to-use page objects for common scenarios:

    • LoginPage - Login page automation with support for application selection
    • Additional common windows and dialogs
  • ITestLogger Integration:
    Built-in logging support for page-level actions and diagnostics

  • Selenium WebDriver Support:
    Full integration with Selenium WebDriver for browser automation

Prerequisites

Installation

Add the library to your project:

dotnet add package WebUIHelpers

Usage Example

Basic Login Page Usage

using OpenQA.Selenium; using SeleniumHelpers; using WebUIHelpers.PageObjects.CommonWindows; using CommonHelpers.Logging;

public class WebLoginTest { public void LoginTest() {

// Create browser using SeleniumHelpers 
using IWebDriver driver = Browser.CreateBrowser("Chrome", "TestSession");
// Create logger (from CommonHelpers)
ITestLogger logger = new YourLoggerImplementation();

//Use LoginPage from WebUIHelpers
LoginPage loginPage = new LoginPage(driver, logger);
loginPage.Login("https://example.com", "username", "password");

// Select application from dropdown
loginPage.SelectApplication("MyApplication");

logger.Info("Login successful");

} }

Using Components Directly

using OpenQA.Selenium; using WebUIHelpers.Components;

public void ComponentExample(IWebDriver driver) { // Use ButtonComponent var submitButton = new ButtonComponent(driver, By.Id("submit-btn")); submitButton.Click();

// Use TextBoxComponent var usernameBox = new TextBoxComponent(driver, By.Id("username")); usernameBox.EnterText("testuser"); }

Creating Custom Page Objects

using OpenQA.Selenium; using SeleniumHelpers; using CommonHelpers.Logging; using WebUIHelpers.Components;

namespace YourProject.PageObjects { public class DashboardPage : SeleniumBase {

private static readonly By _searchBoxLocator = By.Id("search"); private static readonly By _searchButtonLocator = By.CssSelector("[data-automation-id='search-btn']"); private readonly ITestLogger _logger;

public TextBoxComponent SearchBox { get; } public ButtonComponent SearchButton { get; }

public DashboardPage(IWebDriver driver, ITestLogger logger) : base(driver) { _logger = logger; SearchBox = new TextBoxComponent(driver, _searchBoxLocator); SearchButton = new ButtonComponent(driver, _searchButtonLocator); }

public void Search(string searchTerm) { WaitUntilElementVisible(_searchBoxLocator); SearchBox.EnterText(searchTerm); SearchButton.Click(); _logger?.Info($"Searched for: {searchTerm}"); } } }

Components

ButtonComponent

Handles button click interactions with built-in waits.

Methods:

  • Click() - Clicks the button
  • IsDisplayed() - Checks if button is visible
  • GetText() - Gets button text

TextBoxComponent

Handles text input operations.

Methods:

  • EnterText(string text) - Enters text into the field
  • Clear() - Clears the text field
  • GetText() - Gets current text value
  • IsDisplayed() - Checks if textbox is visible

Project Structure

WebUIHelpers/ ├── Components/ │ ├── BaseComponent.cs # Base class for all components │ ├── ButtonComponent.cs # Button interactions │ └── TextBoxComponent.cs # Text input operations ├── PageObjects/ │ └── CommonWindows/ │ └── LoginPage.cs # Login page object with application selection └── README.md

Dependencies

This library depends on:

  • SeleniumHelpers - Provides:

    • Browser - Browser creation and management
    • SeleniumBase - Base class with common automation methods
    • ScreenCaptureLibrary - Screenshot functionality
    • WebDriver extensions and utilities
  • CommonHelpers - Provides:

    • ITestLogger - Logging interface for page objects
    • Shared utilities and infrastructure
    • Reporting helpers
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
2026.1.16.1 35 1/16/2026
2026.1.9.4 88 1/9/2026
2026.1.9.3 86 1/9/2026
2026.1.9.2 82 1/9/2026
2026.1.9.1 81 1/9/2026
2025.12.24.1 177 12/24/2025