diff --git a/TUnit.Playwright/BrowserFixture.cs b/TUnit.Playwright/BrowserFixture.cs
index 50bc7d321e..f22594f610 100644
--- a/TUnit.Playwright/BrowserFixture.cs
+++ b/TUnit.Playwright/BrowserFixture.cs
@@ -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 = TUnitPlaywrightSettings.Default.DefaultHeadless,
+ };
public virtual async Task InitializeAsync()
{
diff --git a/TUnit.Playwright/BrowserTest.cs b/TUnit.Playwright/BrowserTest.cs
index b93769d498..f3696d83ca 100644
--- a/TUnit.Playwright/BrowserTest.cs
+++ b/TUnit.Playwright/BrowserTest.cs
@@ -5,7 +5,10 @@ namespace TUnit.Playwright;
public class BrowserTest : PlaywrightTest
{
- public BrowserTest() : this(new BrowserTypeLaunchOptions())
+ public BrowserTest() : this(new BrowserTypeLaunchOptions
+ {
+ Headless = TUnitPlaywrightSettings.Default.DefaultHeadless,
+ })
{
}
diff --git a/TUnit.Playwright/ContextFixture.cs b/TUnit.Playwright/ContextFixture.cs
index 545eae9449..4db7b6e8fe 100644
--- a/TUnit.Playwright/ContextFixture.cs
+++ b/TUnit.Playwright/ContextFixture.cs
@@ -24,7 +24,11 @@ public class ContextFixture : IAsyncInitializer, IAsyncDisposable
/// (new BrowserNewContextOptions()).
///
protected virtual BrowserNewContextOptions GetContextOptions() =>
- new() { Locale = "en-US", ColorScheme = ColorScheme.Light };
+ new()
+ {
+ Locale = "en-US", ColorScheme = ColorScheme.Light,
+ IgnoreHTTPSErrors = TUnitPlaywrightSettings.Default.DefaultIgnoreHttpsErrors,
+ };
///
/// When true, seeds the context with W3C trace propagation headers from
diff --git a/TUnit.Playwright/ContextTest.cs b/TUnit.Playwright/ContextTest.cs
index b13214b840..989dd41b7f 100644
--- a/TUnit.Playwright/ContextTest.cs
+++ b/TUnit.Playwright/ContextTest.cs
@@ -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 = TUnitPlaywrightSettings.Default.DefaultIgnoreHttpsErrors,
+ };
}
[Before(HookType.Test, "", 0)]
diff --git a/TUnit.Playwright/PlaywrightSettings.cs b/TUnit.Playwright/PlaywrightSettings.cs
new file mode 100644
index 0000000000..5924bb449e
--- /dev/null
+++ b/TUnit.Playwright/PlaywrightSettings.cs
@@ -0,0 +1,23 @@
+using TUnit.Core.Settings;
+
+namespace TUnit.Playwright;
+
+public static class PlaywrightSettingsExtensions
+{
+ extension(TUnitSettings settings)
+ {
+ public TUnitPlaywrightSettings PlaywrightSettings => TUnitPlaywrightSettings.Default;
+ }
+}
+
+public class TUnitPlaywrightSettings
+{
+ internal static readonly TUnitPlaywrightSettings Default = new();
+
+ internal TUnitPlaywrightSettings()
+ {
+ }
+
+ public bool? DefaultHeadless { get; set; } = null;
+ public bool? DefaultIgnoreHttpsErrors { get; set; } = null;
+}
diff --git a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet10_0.verified.txt b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet10_0.verified.txt
index 9736bef78e..d0839dfe67 100644
--- a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet10_0.verified.txt
+++ b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet10_0.verified.txt
@@ -82,6 +82,13 @@ namespace
public .IPageAssertions Expect(.IPage page) { }
public virtual . InitializeAsync() { }
}
+ public static class PlaywrightSettingsExtensions
+ {
+ extension(. settings)
+ {
+ public .TUnitPlaywrightSettings PlaywrightSettings { get; }
+ }
+ }
public class PlaywrightSkipAttribute : .SkipAttribute
{
public PlaywrightSkipAttribute(params .[] combinations) { }
@@ -113,6 +120,11 @@ namespace
public static . PlaywrightSetup() { }
public static void SetDefaultExpectTimeout(float timeout) { }
}
+ public class TUnitPlaywrightSettings
+ {
+ public bool? DefaultHeadless { get; set; }
+ public bool? DefaultIgnoreHttpsErrors { get; set; }
+ }
public class WorkerAwareTest : ., .
{
public WorkerAwareTest() { }
diff --git a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet8_0.verified.txt b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet8_0.verified.txt
index 091f3bb52f..5acda701c7 100644
--- a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet8_0.verified.txt
+++ b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet8_0.verified.txt
@@ -82,6 +82,13 @@ namespace
public .IPageAssertions Expect(.IPage page) { }
public virtual . InitializeAsync() { }
}
+ public static class PlaywrightSettingsExtensions
+ {
+ extension(. settings)
+ {
+ public .TUnitPlaywrightSettings PlaywrightSettings { get; }
+ }
+ }
public class PlaywrightSkipAttribute : .SkipAttribute
{
public PlaywrightSkipAttribute(params .[] combinations) { }
@@ -113,6 +120,11 @@ namespace
public static . PlaywrightSetup() { }
public static void SetDefaultExpectTimeout(float timeout) { }
}
+ public class TUnitPlaywrightSettings
+ {
+ public bool? DefaultHeadless { get; set; }
+ public bool? DefaultIgnoreHttpsErrors { get; set; }
+ }
public class WorkerAwareTest : ., .
{
public WorkerAwareTest() { }
diff --git a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet9_0.verified.txt b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet9_0.verified.txt
index a8e94774c0..d24766fc44 100644
--- a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet9_0.verified.txt
+++ b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.DotNet9_0.verified.txt
@@ -82,6 +82,13 @@ namespace
public .IPageAssertions Expect(.IPage page) { }
public virtual . InitializeAsync() { }
}
+ public static class PlaywrightSettingsExtensions
+ {
+ extension(. settings)
+ {
+ public .TUnitPlaywrightSettings PlaywrightSettings { get; }
+ }
+ }
public class PlaywrightSkipAttribute : .SkipAttribute
{
public PlaywrightSkipAttribute(params .[] combinations) { }
@@ -113,6 +120,11 @@ namespace
public static . PlaywrightSetup() { }
public static void SetDefaultExpectTimeout(float timeout) { }
}
+ public class TUnitPlaywrightSettings
+ {
+ public bool? DefaultHeadless { get; set; }
+ public bool? DefaultIgnoreHttpsErrors { get; set; }
+ }
public class WorkerAwareTest : ., .
{
public WorkerAwareTest() { }
diff --git a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.Net4_7.verified.txt b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.Net4_7.verified.txt
index 12880eb451..058d1b3b65 100644
--- a/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.Net4_7.verified.txt
+++ b/TUnit.PublicAPI/Tests.Playwright_Library_Has_No_API_Changes.Net4_7.verified.txt
@@ -82,6 +82,13 @@ namespace
public .IPageAssertions Expect(.IPage page) { }
public virtual . InitializeAsync() { }
}
+ public static class PlaywrightSettingsExtensions
+ {
+ extension(. settings)
+ {
+ public .TUnitPlaywrightSettings PlaywrightSettings { get; }
+ }
+ }
public class PlaywrightSkipAttribute : .SkipAttribute
{
public PlaywrightSkipAttribute(params .[] combinations) { }
@@ -113,6 +120,11 @@ namespace
public static . PlaywrightSetup() { }
public static void SetDefaultExpectTimeout(float timeout) { }
}
+ public class TUnitPlaywrightSettings
+ {
+ public bool? DefaultHeadless { get; set; }
+ public bool? DefaultIgnoreHttpsErrors { get; set; }
+ }
public class WorkerAwareTest : ., .
{
public WorkerAwareTest() { }