diff --git a/TUnit.Playwright/BrowserFixture.cs b/TUnit.Playwright/BrowserFixture.cs index f22594f610..527b80d491 100644 --- a/TUnit.Playwright/BrowserFixture.cs +++ b/TUnit.Playwright/BrowserFixture.cs @@ -18,10 +18,8 @@ public class BrowserFixture : IAsyncInitializer, IAsyncDisposable public virtual string BrowserName => Microsoft.Playwright.BrowserType.Chromium; - protected virtual BrowserTypeLaunchOptions GetLaunchOptions() => new() - { - Headless = TUnitPlaywrightSettings.Default.DefaultHeadless, - }; + protected virtual BrowserTypeLaunchOptions GetLaunchOptions() => + TUnitPlaywrightSettings.Default.DefaultBrowserTypeLaunchOptions ?? new BrowserTypeLaunchOptions(); public virtual async Task InitializeAsync() { diff --git a/TUnit.Playwright/BrowserTest.cs b/TUnit.Playwright/BrowserTest.cs index f3696d83ca..13137f0760 100644 --- a/TUnit.Playwright/BrowserTest.cs +++ b/TUnit.Playwright/BrowserTest.cs @@ -5,10 +5,7 @@ namespace TUnit.Playwright; public class BrowserTest : PlaywrightTest { - public BrowserTest() : this(new BrowserTypeLaunchOptions - { - Headless = TUnitPlaywrightSettings.Default.DefaultHeadless, - }) + public BrowserTest() : this(TUnitPlaywrightSettings.Default.DefaultBrowserTypeLaunchOptions ?? new BrowserTypeLaunchOptions()) { } diff --git a/TUnit.Playwright/ContextFixture.cs b/TUnit.Playwright/ContextFixture.cs index 4db7b6e8fe..31a32daa76 100644 --- a/TUnit.Playwright/ContextFixture.cs +++ b/TUnit.Playwright/ContextFixture.cs @@ -24,10 +24,9 @@ public class ContextFixture : IAsyncInitializer, IAsyncDisposable /// (new BrowserNewContextOptions()). /// protected virtual BrowserNewContextOptions GetContextOptions() => - new() + TUnitPlaywrightSettings.Default.DefaultBrowserNewContextOptions ?? new BrowserNewContextOptions { Locale = "en-US", ColorScheme = ColorScheme.Light, - IgnoreHTTPSErrors = TUnitPlaywrightSettings.Default.DefaultIgnoreHttpsErrors, }; /// diff --git a/TUnit.Playwright/ContextTest.cs b/TUnit.Playwright/ContextTest.cs index 989dd41b7f..e72a0cdfa4 100644 --- a/TUnit.Playwright/ContextTest.cs +++ b/TUnit.Playwright/ContextTest.cs @@ -17,10 +17,9 @@ public ContextTest(BrowserTypeLaunchOptions options) : base(options) public virtual BrowserNewContextOptions ContextOptions(TestContext testContext) { - return new() + return TUnitPlaywrightSettings.Default.DefaultBrowserNewContextOptions ?? new BrowserNewContextOptions { Locale = "en-US", ColorScheme = ColorScheme.Light, - IgnoreHTTPSErrors = TUnitPlaywrightSettings.Default.DefaultIgnoreHttpsErrors, }; } diff --git a/TUnit.Playwright/PlaywrightSettings.cs b/TUnit.Playwright/PlaywrightSettings.cs index 5924bb449e..dea42bcd00 100644 --- a/TUnit.Playwright/PlaywrightSettings.cs +++ b/TUnit.Playwright/PlaywrightSettings.cs @@ -1,3 +1,4 @@ +using Microsoft.Playwright; using TUnit.Core.Settings; namespace TUnit.Playwright; @@ -18,6 +19,16 @@ internal TUnitPlaywrightSettings() { } - public bool? DefaultHeadless { get; set; } = null; - public bool? DefaultIgnoreHttpsErrors { get; set; } = null; + /// + /// Options used when launching the browser for tests inheriting + /// or . When non-null, this fully replaces the hardcoded defaults. + /// + public BrowserTypeLaunchOptions? DefaultBrowserTypeLaunchOptions { get; set; } = null; + + /// + /// Options used when creating a browser context for tests inheriting + /// or . When non-null, this fully replaces the hardcoded defaults + /// (Locale = "en-US", ColorScheme = Light). + /// + public BrowserNewContextOptions? DefaultBrowserNewContextOptions { 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 d0839dfe67..cecc28af37 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 @@ -122,8 +122,8 @@ namespace } public class TUnitPlaywrightSettings { - public bool? DefaultHeadless { get; set; } - public bool? DefaultIgnoreHttpsErrors { get; set; } + public .BrowserNewContextOptions? DefaultBrowserNewContextOptions { get; set; } + public .BrowserTypeLaunchOptions? DefaultBrowserTypeLaunchOptions { get; set; } } public class 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 5acda701c7..4344d617fb 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 @@ -122,8 +122,8 @@ namespace } public class TUnitPlaywrightSettings { - public bool? DefaultHeadless { get; set; } - public bool? DefaultIgnoreHttpsErrors { get; set; } + public .BrowserNewContextOptions? DefaultBrowserNewContextOptions { get; set; } + public .BrowserTypeLaunchOptions? DefaultBrowserTypeLaunchOptions { get; set; } } public class 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 d24766fc44..63dfc0f33e 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 @@ -122,8 +122,8 @@ namespace } public class TUnitPlaywrightSettings { - public bool? DefaultHeadless { get; set; } - public bool? DefaultIgnoreHttpsErrors { get; set; } + public .BrowserNewContextOptions? DefaultBrowserNewContextOptions { get; set; } + public .BrowserTypeLaunchOptions? DefaultBrowserTypeLaunchOptions { get; set; } } public class 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 058d1b3b65..9b8beca1b2 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 @@ -122,8 +122,8 @@ namespace } public class TUnitPlaywrightSettings { - public bool? DefaultHeadless { get; set; } - public bool? DefaultIgnoreHttpsErrors { get; set; } + public .BrowserNewContextOptions? DefaultBrowserNewContextOptions { get; set; } + public .BrowserTypeLaunchOptions? DefaultBrowserTypeLaunchOptions { get; set; } } public class WorkerAwareTest : ., . {