using Microsoft.Playwright; namespace Tests.PageObjects; public class LoginPage : BasePage { public LoginPage(IPage page) : base(page) { } public ILocator EnrollButton => Page.GetByRole(AriaRole.Button, new() { Name = "Enroll Passkey" }); public ILocator SignInButton => Page.GetByRole(AriaRole.Button, new() { Name = "Sign in with Passkey" }); public ILocator ErrorMessage => Page.Locator(".alert-danger"); public async Task GotoAsync() => await NavigateToAsync("/login"); public async Task WaitForInteractiveAsync() { await Page.WaitForLoadStateAsync(LoadState.NetworkIdle); // Wait for Blazor circuit: either button must be visible await Page.WaitForSelectorAsync("button", new PageWaitForSelectorOptions { Timeout = 10_000 }); } }