Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
feat(playwright): add TUnitPlaywrightSettings with Headless and Ignor…
…eHTTPSErrors defaults

Introduces PlaywrightSettingsExtensions exposing TUnitPlaywrightSettings via
TUnitSettings extension property, and wires DefaultHeadless / DefaultIgnoreHttpsErrors
into BrowserFixture, BrowserTest, ContextFixture, and ContextTest defaults.
  • Loading branch information
thomhurst committed May 8, 2026
commit c60a54c3bcfd9339a739df296e7e89cdeecd3881
5 changes: 4 additions & 1 deletion TUnit.Playwright/BrowserFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ public class BrowserFixture : IAsyncInitializer, IAsyncDisposable

public virtual string BrowserName => Microsoft.Playwright.BrowserType.Chromium;

protected virtual BrowserTypeLaunchOptions GetLaunchOptions() => new();
protected virtual BrowserTypeLaunchOptions GetLaunchOptions() => new()
{
Headless = PlaywrightSettingsExtensions.Default.DefaultHeadless,
};

public virtual async Task InitializeAsync()
{
Expand Down
5 changes: 4 additions & 1 deletion TUnit.Playwright/BrowserTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ namespace TUnit.Playwright;

public class BrowserTest : PlaywrightTest
{
public BrowserTest() : this(new BrowserTypeLaunchOptions())
public BrowserTest() : this(new BrowserTypeLaunchOptions
{
Headless = PlaywrightSettingsExtensions.Default.DefaultHeadless,
})
{
}

Expand Down
6 changes: 5 additions & 1 deletion TUnit.Playwright/ContextFixture.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ public class ContextFixture : IAsyncInitializer, IAsyncDisposable
/// (<c>new BrowserNewContextOptions()</c>).
/// </summary>
protected virtual BrowserNewContextOptions GetContextOptions() =>
new() { Locale = "en-US", ColorScheme = ColorScheme.Light };
new()
{
Locale = "en-US", ColorScheme = ColorScheme.Light,
IgnoreHTTPSErrors = PlaywrightSettingsExtensions.Default.DefaultIgnoreHttpsErrors,
};

/// <summary>
/// When <c>true</c>, seeds the context with W3C trace propagation headers from
Expand Down
6 changes: 5 additions & 1 deletion TUnit.Playwright/ContextTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ public ContextTest(BrowserTypeLaunchOptions options) : base(options)

public virtual BrowserNewContextOptions ContextOptions(TestContext testContext)
{
return new() { Locale = "en-US", ColorScheme = ColorScheme.Light, };
return new()
{
Locale = "en-US", ColorScheme = ColorScheme.Light,
IgnoreHTTPSErrors = PlaywrightSettingsExtensions.Default.DefaultIgnoreHttpsErrors,
};
}

[Before(HookType.Test, "", 0)]
Expand Down
19 changes: 19 additions & 0 deletions TUnit.Playwright/PlaywrightSettings.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using TUnit.Core.Settings;

namespace TUnit.Playwright;

public static class PlaywrightSettingsExtensions
{
internal static readonly TUnitPlaywrightSettings Default = new();

extension(TUnitSettings settings)
{
public TUnitPlaywrightSettings PlaywrightSettings => Default;
}
}

public class TUnitPlaywrightSettings
{
public bool DefaultHeadless { get; set; }
public bool DefaultIgnoreHttpsErrors { get; set; }
}
Loading