E2ETestBase.cs 712 B

123456789101112131415161718192021222324
  1. using Microsoft.Playwright;
  2. using Xunit.Abstractions;
  3. namespace Tests.E2e.Infra;
  4. public abstract class E2ETestBase(
  5. PlaywrightFixture fixture,
  6. ITestOutputHelper output) : IClassFixture<PlaywrightFixture> {
  7. public async Task<(IBrowserContext, IPage)> CreatePageAsync() {
  8. IBrowserContext context = await fixture.Browser.NewContextAsync();
  9. IPage page = await context.NewPageAsync();
  10. page.Console += (_, msg) =>
  11. output.WriteLine($"[BrowserConsole] {msg.Type}: {msg.Text}");
  12. page.PageError += (_, msg) =>
  13. output.WriteLine($"[PageError] {msg}");
  14. output.WriteLine($"BaseUrl: {fixture.BaseUrl}");
  15. return (context, page);
  16. }
  17. }