From 212a6c51438d5231dd80e2508c82fa4e7508a783 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 24 Oct 2026 13:56:12 +0300 Subject: [PATCH 1/2] [dotnet] [test] Stabilize DevToolsTabsTests fixture --- .../webdriver/DevTools/DevToolsTabsTests.cs | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs b/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs index 9b329f780b66e..6b50a169bca25 100644 --- a/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs +++ b/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs @@ -24,7 +24,6 @@ namespace OpenQA.Selenium.Tests.DevTools; [TestFixture] public class DevToolsTabsTests : DevToolsTestFixture { - [Test] [IgnoreBrowser(Browser.IE, "IE does not support Chrome DevTools Protocol")] [IgnoreBrowser(Browser.Firefox, "Firefox does not support Chrome DevTools Protocol")] @@ -37,13 +36,27 @@ public async Task ClosingTabDoesNotBreakDevToolsSession() var oldWindowHandle = Driver.CurrentWindowHandle; Driver.SwitchTo().NewWindow(WindowType.Tab); Driver.SwitchTo().Window(oldWindowHandle); - Driver.Close(); - Assert.That( - async () => + + var targetDetached = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); + void targetDetachedHandler(object _, CurrentCdpVersion.Target.DetachedFromTargetEventArgs e) + { + if (e.TargetId == oldWindowHandle) { - await domains.Console.Enable(); - }, - Throws.Nothing - ); + targetDetached.TrySetResult(true); + } + } + + domains.Target.DetachedFromTarget += targetDetachedHandler; + + try + { + Driver.Close(); + await targetDetached.Task.WaitAsync(TimeSpan.FromSeconds(5)); + Assert.That(async () => await domains.Console.Enable(), Throws.Nothing); + } + finally + { + domains.Target.DetachedFromTarget -= targetDetachedHandler; + } } } From ff7bfb2b60bfd97afa8d266e675fd95be6c67e6e Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Sat, 24 Oct 2026 14:27:12 +0300 Subject: [PATCH 2/2] Lint --- dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs b/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs index 6b50a169bca25..7cb351c6e6753 100644 --- a/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs +++ b/dotnet/test/webdriver/DevTools/DevToolsTabsTests.cs @@ -47,7 +47,7 @@ void targetDetachedHandler(object _, CurrentCdpVersion.Target.DetachedFromTarget } domains.Target.DetachedFromTarget += targetDetachedHandler; - + try { Driver.Close();