MainLayoutPom.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Microsoft.Playwright;
  2. namespace Tests.E2e.PageObjectModels;
  3. public class MainLayoutPom(IPage page)
  4. {
  5. public ILocator AppRoot => page.GetByTestId("app-root");
  6. public ILocator Header => page.GetByTestId("app-header");
  7. public ILocator PageContent => page.GetByTestId("page-content");
  8. public ILocator BrandLink => page.GetByTestId("brand-link");
  9. public ILocator BrandText => page.GetByTestId("brand-text");
  10. public ILocator NavHome => page.GetByTestId("nav-home");
  11. public ILocator NavCli => page.GetByTestId("nav-cli");
  12. public ILocator NavYaml => page.GetByTestId("nav-yaml");
  13. public ILocator NavHardware => page.GetByTestId("nav-hardware");
  14. public ILocator NavSystems => page.GetByTestId("nav-systems");
  15. public ILocator NavServices => page.GetByTestId("nav-services");
  16. public ILocator NavDocs => page.GetByTestId("nav-docs");
  17. public async Task GotoHomeAsync()
  18. {
  19. await NavHome.ClickAsync();
  20. await Assertions.Expect(PageContent).ToBeVisibleAsync();
  21. }
  22. public async Task GotoHardwareAsync()
  23. {
  24. await NavHardware.ClickAsync();
  25. await page.WaitForURLAsync("**/hardware/**");
  26. }
  27. public async Task GotoSystemsAsync()
  28. {
  29. await NavSystems.ClickAsync();
  30. await page.WaitForURLAsync("**/systems/**");
  31. }
  32. public async Task GotoServicesAsync()
  33. {
  34. await NavServices.ClickAsync();
  35. await page.WaitForURLAsync("**/services/**");
  36. }
  37. public async Task GotoCliAsync()
  38. {
  39. await NavCli.ClickAsync();
  40. await page.WaitForURLAsync("**/cli");
  41. }
  42. public async Task GotoYamlAsync()
  43. {
  44. await NavYaml.ClickAsync();
  45. await page.WaitForURLAsync("**/yaml");
  46. }
  47. public async Task GotoDocsAsync()
  48. {
  49. await NavDocs.ClickAsync();
  50. await page.WaitForURLAsync("**/docs/**");
  51. }
  52. public async Task AssertLoadedAsync()
  53. {
  54. await Assertions.Expect(AppRoot).ToBeVisibleAsync();
  55. await Assertions.Expect(Header).ToBeVisibleAsync();
  56. await Assertions.Expect(PageContent).ToBeVisibleAsync();
  57. }
  58. }