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
<PackageReference Include="OneStreamAutoLibrary.WebUIHelpers" Version="2026.1.16.1" />
<PackageVersion Include="OneStreamAutoLibrary.WebUIHelpers" Version="2026.1.16.1" />
<PackageReference Include="OneStreamAutoLibrary.WebUIHelpers" />
paket add OneStreamAutoLibrary.WebUIHelpers --version 2026.1.16.1
#r "nuget: OneStreamAutoLibrary.WebUIHelpers, 2026.1.16.1"
#:package OneStreamAutoLibrary.WebUIHelpers@2026.1.16.1
#addin nuget:?package=OneStreamAutoLibrary.WebUIHelpers&version=2026.1.16.1
#tool nuget:?package=OneStreamAutoLibrary.WebUIHelpers&version=2026.1.16.1
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 automationReusable 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 diagnosticsSelenium WebDriver Support:
Full integration with Selenium WebDriver for browser automation
Prerequisites
- .NET Standard 2.0, .NET 8, or compatible runtime
- SeleniumHelpers - Selenium WebDriver infrastructure
- CommonHelpers - Shared utilities and logging
- Selenium.WebDriver
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 buttonIsDisplayed()- Checks if button is visibleGetText()- Gets button text
TextBoxComponent
Handles text input operations.
Methods:
EnterText(string text)- Enters text into the fieldClear()- Clears the text fieldGetText()- Gets current text valueIsDisplayed()- 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 managementSeleniumBase- Base class with common automation methodsScreenCaptureLibrary- Screenshot functionality- WebDriver extensions and utilities
CommonHelpers - Provides:
ITestLogger- Logging interface for page objects- Shared utilities and infrastructure
- Reporting helpers
| Product | Versions 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. |
-
.NETStandard 2.0
- OneStreamAutoLibrary.CommonHelpers (>= 2025.12.19.1)
- OneStreamAutoLibrary.SeleniumHelpers (>= 2026.1.16.1)
-
net8.0
- OneStreamAutoLibrary.CommonHelpers (>= 2025.12.19.1)
- OneStreamAutoLibrary.SeleniumHelpers (>= 2026.1.16.1)
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 |