dotnet-ui-testing-core

Standardize .NET UI testing with Page Object Model and stable selectors.

71|10|Updated Feb 11, 2026
One-click install
npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-ui-testing-core-wshaddix
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dotnet-ui-testing-core
Source: https://github.com/wshaddix/dotnet-skills/tree/main/skills/dotnet-ui-testing-core
Command: npx skills add https://github.com/wshaddix/dotnet-skills --skill dotnet-ui-testing-core-wshaddix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides foundational patterns for creating reliable and maintainable UI tests across various .NET frameworks, reducing flakiness and improving test suite stability.

Core Features & Use Cases

  • Page Object Model: Encapsulates UI elements and interactions for maintainable test structure.
  • Selector Strategies: Prioritizes stable selectors like data-testid and accessibility attributes to avoid brittle tests.
  • Async Wait Patterns: Implements robust waiting mechanisms to handle asynchronous UI updates without hardcoded delays.
  • Accessibility Testing: Integrates automated accessibility checks into the testing workflow.
  • Use Case: When developing a Blazor application, use these patterns to create tests that reliably interact with components, wait for data to load, and ensure keyboard navigation works correctly.

Quick Start

Use the dotnet-ui-testing-core skill to implement the Page Object Model for your Blazor application's login page.

Frequently Asked Questions about dotnet-ui-testing-core

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I stop .NET UI tests from being flaky when handling asynchronous updates?

The Page Object Model is a design pattern that encapsulates UI elements and interactions to standardize UI testing practices. By structuring tests around this model, you create a maintainable test architecture that reduces flakiness and improves suite stability across .NET frameworks.

What's the best way to select UI elements in Blazor to avoid brittle tests?

The best way to select UI elements in Blazor is prioritizing stable selectors like `data-testid` and accessibility attributes. This selector strategy avoids brittle tests by ensuring element identification remains reliable even as application styles or structures change.

Does this UI testing approach work for both Blazor and MAUI frameworks?

Yes, this UI testing approach works for both Blazor and MAUI frameworks. It addresses cross-framework UI test reliability challenges by implementing the Page Object Model and stable selectors, ensuring consistent testing practices across Blazor, MAUI, and Uno Platform applications.

Can I integrate automated accessibility testing into my .NET UI test workflow?

You can integrate automated accessibility testing into your .NET UI test workflow by applying these testing patterns. The approach includes accessibility checks within the testing workflow, ensuring components like keyboard navigation work correctly during UI interactions.

How do I implement the Page Object Model for a Blazor application login page?

To implement the Page Object Model for a Blazor application login page, encapsulate the page's UI elements and interactions within a dedicated class. This standardizes UI testing practices by separating element definitions from test logic for maintainable test structure.