Files
jdescopingtool/NEW/tests/JdeScoping.Ui.Tests/Support/PlaywrightFixture.cs
T

32 lines
836 B
C#

using Microsoft.Playwright;
namespace JdeScoping.Ui.Tests.Support;
public sealed class PlaywrightFixture : IAsyncLifetime
{
private IPlaywright? _playwright;
private IBrowser? _browser;
public IBrowser Browser => _browser ?? throw new InvalidOperationException("Browser is not initialized.");
public async Task InitializeAsync()
{
_playwright = await Microsoft.Playwright.Playwright.CreateAsync();
_browser = await _playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions
{
Headless = UiTestSettings.Headless,
Args = ["--no-sandbox", "--disable-dev-shm-usage"]
});
}
public async Task DisposeAsync()
{
if (_browser is not null)
{
await _browser.CloseAsync();
}
_playwright?.Dispose();
}
}