Loading...
Please wait a moment
Production-ready .NET 8 automation framework combining Selenium WebDriver UI suites with RestSharp API coverage, centralized configuration, Azure AD auth flows, and Docker-first execution for CI pipelines.
Transit to Fully Open-Source TUEL is my reference implementation for how modern SDET teams should structure Selenium + RestSharp codebases. The initiative graduates a legacy financial solution into a reusable, observability-first framework that any enterprise can fork, containerize, and trust inside regulated pipelines. Each delivery phase is shipped and documented—smart waits, centralized configuration, structured logging, and security hardening all landed with matching guides so teams can adopt the stack without churn.
Banks, fintech, healthcare teams can enforce Azure AD flows, Key Vault-managed secrets, and auditable logging without writing boilerplate from scratch.
API and UI engineers can share a single repo with Page Object patterns, RestSharp clients, and environment-aware configuration that scales from laptops to Selenium Grid.
SecretManager references (env://, kv://, enc://) plus HTTPS-first Docker configs keep tokens masked, even when running parallel suites in CI.
Teams replacing brittle Thread.Sleep calls or Console.WriteLine debugging get smart waits, retry helpers, and structured logging with minimal code churn.
Every layer is battle-tested across API suites, UI flows, authentication, configuration, and observability so the framework behaves predictably whether you run it locally, inside Docker, or against Selenium Grid.
Discrete API (RestSharp) and UI (Selenium WebDriver) layers share domain models - Products, Orders, Customers, Templates, Pricing - so scenarios stay business-focused.
Multiple OAuth flows (Azure Entra client credentials, ROPC, local JWT) plus enforced HTTPS in Docker keep test credentials aligned with production controls.
TestConfiguration.cs centralizes every timeout, retry, and logging toggle with environment overrides (`dev`, `staging`, `prod`) and encrypted secrets when needed.
TestLogger outputs structured logs with masking, color-coded console traces, and hooks for future sinks so failures read like incident timelines.
2-5x faster UI suites
UIHelper, Base.cs, and LoginPOM now rely on WebDriverWait-based helpers (`WaitVisible`, `WaitForPageTransition`) plus async-friendly retry logic.
Consistent timeouts & security
TestConfiguration.cs exposes typed getters for every timeout, retry, and security flag, so Docker, local, and CI runs stay in sync.
Faster debugging
TestLogger standardizes Trace->Critical levels, masks secrets automatically, and colorizes console output for healthier on-call triage.
Production-ready defaults
HTTPS-by-default docker-compose, forced secure BaseURL/BaseurlAPI settings, and audit logging stubs ensure no plaintext secrets escape.
LoginPOM + Base.cs migrations removed Thread.Sleep and validated the new helper patterns across priority flows.
All 45 legacy Thread.Sleep calls across HealthCheck, Dashboard, Members, and validator suites migrated to smart waits and retry helpers.
26 Console.WriteLine instances replaced with TestLogger so every event now emits structured, masked output.
Compiler warnings triaged and resolved, giving the framework a clean build and CI gate.
Quality gates are enforced through dotnet test, Docker Compose, and GitHub workflows. Suites are expected to execute under five minutes, maintain 95%+ stability, and expose actionable reporting (screenshots, structured logs, performance metrics) for every failure.