Project: DotPilot.UITests
Stack: .NET 10, NUnit, Uno.UITest, browser-driven UI tests
- This project owns browser-driven UI coverage for
DotPilotthrough theUno.UITestharness. - It is intended for app-launch and visible-flow verification once the external test prerequisites are satisfied.
DotPilot.UITests.csprojHarness/Constants.csHarness/TestBase.csChatSessions/Flows/GivenChatSessionsShell.cs
- Keep this project focused on end-to-end browser verification only.
- Do not add app business logic or test-only production hooks here unless they are required for stable automation.
- Treat browser-driver setup and app-launch prerequisites as part of the harness, not as assumptions inside individual tests.
- The harness must make
dotnet test DotPilot.UITests/DotPilot.UITests.csprojrunnable without manual driver-path export and must fail loudly instead of silently skipping coverage. - Keep the harness direct and minimal; prefer the smallest deterministic setup needed to run the suite and return a real result.
- Keep the file layout explicit: browser harness code belongs under
Harness/, harness self-tests underHarness/Tests/, end-to-end slice coverage under<Slice>/, and cross-slice operator flows underJourneys/. - Use the official
UnoMCP documentation as the source of truth forUno.UITestbrowser behavior, and align selectors with the documented WebAssembly automation mapping before changing the harness. - Do not manually launch the app or a standalone
browserwasmhost while working on this project; browser-path reproduction and debugging must go throughdotnet testand the realDotPilot.UITestsharness only. - UI tests must cover each feature's interactive elements, expected behaviors, and full operator flows instead of only a top-level smoke path.
- Agent UI coverage is mandatory: keep end-to-end tests for prompt-first agent creation, default-agent visibility, provider readiness or enable/disable interactions, and starting or resuming a chat with an agent.
test-ui:dotnet test DotPilot.UITests/DotPilot.UITests.csprojtest-ui-live:dotnet test DotPilot.UITests/DotPilot.UITests.csproj
mcaf-dotnetmcaf-testingmcaf-ui-ux
- The harness targets a browser flow and auto-starts the
net10.0-browserwasmhead on a loopback URI resolved by the harness; any driver discovery or bootstrap logic must stay deterministic across local and agent environments. Harness/Constants.csandHarness/TestBase.csdefine environment assumptions for every UI test; update them carefully and only when the automation target actually changes.- Every new UI capability should arrive with assertions for the visible controls it adds and at least one complete end-to-end flow through the affected surface.