diff --git a/dotnet/paket.dependencies b/dotnet/paket.dependencies index 9ca39be0e46dd..d1f2a529ad80b 100644 --- a/dotnet/paket.dependencies +++ b/dotnet/paket.dependencies @@ -11,6 +11,7 @@ nuget Microsoft.Extensions.DependencyInjection 3.1.9 nuget Moq 4.20.72 nuget NETStandard.Library 2.0.3 nuget NUnit 4.6.0 +nuget NUnit.Analyzers 4.13.0 nuget NUnit3TestAdapter 6.2.0 nuget Microsoft.Testing.Platform 2.1.0 nuget Microsoft.Testing.Extensions.VSTestBridge 2.1.0 diff --git a/dotnet/paket.lock b/dotnet/paket.lock index 12315ec498072..0c266e8f10c5e 100644 --- a/dotnet/paket.lock +++ b/dotnet/paket.lock @@ -51,6 +51,7 @@ NUGET NUnit (4.6) System.Threading.Tasks.Extensions (>= 4.5.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== netstandard2.0) (>= net462)) System.ValueTuple (>= 4.4) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== netstandard2.0) (>= net462)) + NUnit.Analyzers (4.13) NUnit3TestAdapter (6.2) Microsoft.Extensions.DependencyModel (>= 8.0.2) - restriction: || (&& (== net462) (>= net8.0)) (== net8.0) (&& (== netstandard2.0) (>= net8.0)) Microsoft.Testing.Extensions.VSTestBridge (>= 2.1) - restriction: || (== net462) (== net8.0) (&& (== netstandard2.0) (>= net462)) (&& (== netstandard2.0) (>= net8.0)) diff --git a/dotnet/paket.nuget.bzl b/dotnet/paket.nuget.bzl index 2d3a61f36c0b5..7bf144f100579 100644 --- a/dotnet/paket.nuget.bzl +++ b/dotnet/paket.nuget.bzl @@ -28,6 +28,7 @@ def nuget(): {"name": "Moq", "id": "Moq", "version": "4.20.72", "sha512": "sha512-HeLdAKzFe2G4fUg+tUa1WRf/Mye9zbkiv57jHRSb5IVi7GXVPgWbbEaUP8SaOpt43JJFRlWY9N5Yro32/tgRpQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Castle.Core"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net462": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net47": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net471": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net472": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net48": ["Castle.Core", "System.Threading.Tasks.Extensions"], "net5.0": ["Castle.Core"], "net6.0": ["Castle.Core"], "net7.0": ["Castle.Core"], "net8.0": ["Castle.Core"], "net9.0": ["Castle.Core"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp2.1": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp2.2": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netcoreapp3.0": ["Castle.Core"], "netcoreapp3.1": ["Castle.Core"], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": ["Castle.Core", "System.Threading.Tasks.Extensions"], "netstandard2.1": ["Castle.Core"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "NETStandard.Library", "id": "NETStandard.Library", "version": "2.0.3", "sha512": "sha512-548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.NETCore.Platforms"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": ["Microsoft.NETCore.Platforms"], "net451": ["Microsoft.NETCore.Platforms"], "net452": ["Microsoft.NETCore.Platforms"], "net46": ["Microsoft.NETCore.Platforms"], "net461": ["Microsoft.NETCore.Platforms"], "net462": ["Microsoft.NETCore.Platforms"], "net47": ["Microsoft.NETCore.Platforms"], "net471": ["Microsoft.NETCore.Platforms"], "net472": ["Microsoft.NETCore.Platforms"], "net48": ["Microsoft.NETCore.Platforms"], "net5.0": ["Microsoft.NETCore.Platforms"], "net6.0": ["Microsoft.NETCore.Platforms"], "net7.0": ["Microsoft.NETCore.Platforms"], "net8.0": ["Microsoft.NETCore.Platforms"], "net9.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.0": ["Microsoft.NETCore.Platforms"], "netcoreapp1.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.0": ["Microsoft.NETCore.Platforms"], "netcoreapp2.1": ["Microsoft.NETCore.Platforms"], "netcoreapp2.2": ["Microsoft.NETCore.Platforms"], "netcoreapp3.0": ["Microsoft.NETCore.Platforms"], "netcoreapp3.1": ["Microsoft.NETCore.Platforms"], "netstandard": [], "netstandard1.0": ["Microsoft.NETCore.Platforms"], "netstandard1.1": ["Microsoft.NETCore.Platforms"], "netstandard1.2": ["Microsoft.NETCore.Platforms"], "netstandard1.3": ["Microsoft.NETCore.Platforms"], "netstandard1.4": ["Microsoft.NETCore.Platforms"], "netstandard1.5": ["Microsoft.NETCore.Platforms"], "netstandard1.6": ["Microsoft.NETCore.Platforms"], "netstandard2.0": ["Microsoft.NETCore.Platforms"], "netstandard2.1": ["Microsoft.NETCore.Platforms"]}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "NUnit", "id": "NUnit", "version": "4.6.0", "sha512": "sha512-wU1EhvacEM9P0Dv5kcPTqYDeSMVMtl9GrSZedDxLZ/050Bz2vUW9zwAVArejSTJ57ySQ3ZbUZfCPw3c/rSnE+w==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net47": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net471": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net472": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net48": ["System.Threading.Tasks.Extensions", "System.ValueTuple"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, + {"name": "NUnit.Analyzers", "id": "NUnit.Analyzers", "version": "4.13.0", "sha512": "sha512-p4t6RdKT1qIxfB7OQb3U3Bp/rpJNHkVSkbDJGdnxJUnFAZjfKR4E+RypLONmzMCGc6Qcy3FVtjgh53qosJmTNw==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "NUnit3TestAdapter", "id": "NUnit3TestAdapter", "version": "6.2.0", "sha512": "sha512-cakJ6dIfgVJbtPIa0UKDIcpBLU7XAHn+Qt/5qBCVd0ROgYn1cIRgZZ9VnlWAsafVyDf6BqlrMGhHtu4DVHjwWQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net47": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net471": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net472": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net48": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild"], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "net9.0": ["Microsoft.Testing.Extensions.VSTestBridge", "Microsoft.Testing.Platform.MSBuild", "Microsoft.Extensions.DependencyModel"], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "Runfiles", "id": "Runfiles", "version": "0.14.0", "sha512": "sha512-xncDBZgH/5m3QXFXxTOSQiooXZrEhU9hPThejXvnCmFpGrXYKWq5xWzM3Lp8sL33pTWnuWySnrdIyu5W6DZDiQ==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, {"name": "System.Buffers", "id": "System.Buffers", "version": "4.5.1", "sha512": "sha512-gNphWOVbm89+C15jebnPRaYykU8De1PFv1YJV24814IfeGGVa3PXRHDS0MLlbdI1pe9Mpv/n4ZK4INwtAjqv8g==", "sources": ["https://api.nuget.org/v3/index.json"], "dependencies": {"net10.0": [], "net11": [], "net20": [], "net30": [], "net35": [], "net40": [], "net403": [], "net45": [], "net451": [], "net452": [], "net46": [], "net461": [], "net462": [], "net47": [], "net471": [], "net472": [], "net48": [], "net5.0": [], "net6.0": [], "net7.0": [], "net8.0": [], "net9.0": [], "netcoreapp1.0": [], "netcoreapp1.1": [], "netcoreapp2.0": [], "netcoreapp2.1": [], "netcoreapp2.2": [], "netcoreapp3.0": [], "netcoreapp3.1": [], "netstandard": [], "netstandard1.0": [], "netstandard1.1": [], "netstandard1.2": [], "netstandard1.3": [], "netstandard1.4": [], "netstandard1.5": [], "netstandard1.6": [], "netstandard2.0": [], "netstandard2.1": []}, "targeting_pack_overrides": [], "framework_list": [], "tools": {}}, diff --git a/dotnet/test/remote/BUILD.bazel b/dotnet/test/remote/BUILD.bazel index e6b0173de9fc3..c667e568d9409 100644 --- a/dotnet/test/remote/BUILD.bazel +++ b/dotnet/test/remote/BUILD.bazel @@ -22,6 +22,7 @@ dotnet_nunit_test_suite( "//dotnet/src/webdriver:webdriver-net8.0", "//dotnet/test/testing.webserver", "//dotnet/test/webdriver", + nuget_package("NUnit.Analyzers"), nuget_package("Runfiles"), ], ) diff --git a/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj b/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj index b4a5b0c59b432..fb2f13869bb42 100644 --- a/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj +++ b/dotnet/test/remote/Selenium.WebDriver.Remote.Tests.csproj @@ -12,6 +12,7 @@ + diff --git a/dotnet/test/support/BUILD.bazel b/dotnet/test/support/BUILD.bazel index 10356704aa1b4..3b885981a4702 100644 --- a/dotnet/test/support/BUILD.bazel +++ b/dotnet/test/support/BUILD.bazel @@ -25,5 +25,6 @@ dotnet_nunit_test_suite( "//dotnet/test/webdriver", nuget_package("Microsoft.Bcl.AsyncInterfaces"), nuget_package("Moq"), + nuget_package("NUnit.Analyzers"), ], ) diff --git a/dotnet/test/support/Events/EventFiringWebDriverTests.cs b/dotnet/test/support/Events/EventFiringWebDriverTests.cs index e667fca8119ac..cf67165a7e41e 100644 --- a/dotnet/test/support/Events/EventFiringWebDriverTests.cs +++ b/dotnet/test/support/Events/EventFiringWebDriverTests.cs @@ -31,7 +31,6 @@ public class EventFiringWebDriverTests private Mock mockElement; private Mock mockShadowRoot; private Mock mockNavigation; - private IWebDriver stubDriver; private StringBuilder log; [SetUp] @@ -60,12 +59,12 @@ public void ShouldFireNavigationEvents() mockNavigation.Setup(_ => _.Forward()); EventFiringWebDriver firingDriver = new EventFiringWebDriver(mockDriver.Object); - firingDriver.Navigating += new EventHandler(firingDriver_Navigating); - firingDriver.Navigated += new EventHandler(firingDriver_Navigated); - firingDriver.NavigatingBack += new EventHandler(firingDriver_NavigatingBack); - firingDriver.NavigatedBack += new EventHandler(firingDriver_NavigatedBack); - firingDriver.NavigatingForward += new EventHandler(firingDriver_NavigatingForward); - firingDriver.NavigatedForward += new EventHandler(firingDriver_NavigatedForward); + firingDriver.Navigating += (sender, e) => log.Append("Navigating ").Append(e.Url).AppendLine(); + firingDriver.Navigated += (sender, e) => log.Append("Navigated ").Append(e.Url).AppendLine(); + firingDriver.NavigatingBack += (sender, e) => log.AppendLine("Navigating back"); + firingDriver.NavigatedBack += (sender, e) => log.AppendLine("Navigated back"); + firingDriver.NavigatingForward += (sender, e) => log.AppendLine("Navigating forward"); + firingDriver.NavigatedForward += (sender, e) => log.AppendLine("Navigated forward"); firingDriver.Url = "http://www.get.com"; firingDriver.Navigate().GoToUrl("http://www.navigate-to.com"); @@ -99,8 +98,8 @@ public void ShouldFireClickEvent() mockElement.Setup(_ => _.Click()); EventFiringWebDriver firingDriver = new EventFiringWebDriver(mockDriver.Object); - firingDriver.ElementClicking += new EventHandler(firingDriver_ElementClicking); - firingDriver.ElementClicked += new EventHandler(firingDriver_ElementClicked); + firingDriver.ElementClicking += (sender, e) => log.AppendLine("Clicking"); + firingDriver.ElementClicked += (sender, e) => log.AppendLine("Clicked"); firingDriver.FindElement(By.Name("foo")).Click(); @@ -158,8 +157,8 @@ public void ShouldFireFindByEvent() mockDriver.Setup(_ => _.FindElements(It.Is(x => x.Equals(By.XPath("//link[@type = 'text/css']"))))).Returns(new ReadOnlyCollection(subElements)); EventFiringWebDriver firingDriver = new EventFiringWebDriver(mockDriver.Object); - firingDriver.FindingElement += new EventHandler(firingDriver_FindingElement); - firingDriver.FindElementCompleted += new EventHandler(firingDriver_FindElementCompleted); + firingDriver.FindingElement += (sender, e) => log.Append("FindingElement from ").Append(e.Element == null ? "IWebDriver " : "IWebElement ").AppendLine(e.FindMethod.ToString()); + firingDriver.FindElementCompleted += (sender, e) => log.Append("FindElementCompleted from ").Append(e.Element == null ? "IWebDriver " : "IWebElement ").AppendLine(e.FindMethod.ToString()); IWebElement element = firingDriver.FindElement(By.Id("foo")); element.FindElement(By.LinkText("bar")); @@ -186,7 +185,7 @@ public void ShouldCallListenerOnException() mockDriver.Setup(_ => _.FindElement(It.Is(x => x.Equals(By.Id("foo"))))).Throws(exception); EventFiringWebDriver firingDriver = new EventFiringWebDriver(mockDriver.Object); - firingDriver.ExceptionThrown += new EventHandler(firingDriver_ExceptionThrown); + firingDriver.ExceptionThrown += (sender, e) => log.AppendLine(e.ThrownException.Message); Assert.That( () => firingDriver.FindElement(By.Id("foo")), @@ -226,11 +225,14 @@ public void ShouldBeAbleToWrapSubclassesOfSomethingImplementingTheWebDriverInter [Test] public void ShouldBeAbleToAccessWrappedInstanceFromEventCalls() { - stubDriver = new StubDriver(); + var stubDriver = new StubDriver(); EventFiringWebDriver testDriver = new EventFiringWebDriver(stubDriver); StubDriver wrapped = ((IWrapsDriver)testDriver).WrappedDriver as StubDriver; Assert.That(wrapped, Is.EqualTo(stubDriver)); - testDriver.Navigating += new EventHandler(testDriver_Navigating); + testDriver.Navigating += new EventHandler((sender, e) => + { + Assert.That(stubDriver, Is.EqualTo(e.Driver)); + }); testDriver.Url = "http://example.org"; } @@ -288,66 +290,6 @@ public void ShouldFireFindEventsInShadowRoot() Assert.That(findElementCompletedArgs.Element, Is.Null); } - void testDriver_Navigating(object sender, WebDriverNavigationEventArgs e) - { - Assert.That(stubDriver, Is.EqualTo(e.Driver)); - } - - void firingDriver_ExceptionThrown(object sender, WebDriverExceptionEventArgs e) - { - log.AppendLine(e.ThrownException.Message); - } - - void firingDriver_FindingElement(object sender, FindElementEventArgs e) - { - log.Append("FindingElement from ").Append(e.Element == null ? "IWebDriver " : "IWebElement ").AppendLine(e.FindMethod.ToString()); - } - - void firingDriver_FindElementCompleted(object sender, FindElementEventArgs e) - { - log.Append("FindElementCompleted from ").Append(e.Element == null ? "IWebDriver " : "IWebElement ").AppendLine(e.FindMethod.ToString()); - } - - void firingDriver_ElementClicking(object sender, WebElementEventArgs e) - { - log.AppendLine("Clicking"); - } - - void firingDriver_ElementClicked(object sender, WebElementEventArgs e) - { - log.AppendLine("Clicked"); - } - - void firingDriver_Navigating(object sender, WebDriverNavigationEventArgs e) - { - log.Append("Navigating ").Append(e.Url).AppendLine(); - } - - void firingDriver_Navigated(object sender, WebDriverNavigationEventArgs e) - { - log.Append("Navigated ").Append(e.Url).AppendLine(); - } - - void firingDriver_NavigatingBack(object sender, WebDriverNavigationEventArgs e) - { - log.AppendLine("Navigating back"); - } - - void firingDriver_NavigatedBack(object sender, WebDriverNavigationEventArgs e) - { - log.AppendLine("Navigated back"); - } - - void firingDriver_NavigatingForward(object sender, WebDriverNavigationEventArgs e) - { - log.AppendLine("Navigating forward"); - } - - void firingDriver_NavigatedForward(object sender, WebDriverNavigationEventArgs e) - { - log.AppendLine("Navigated forward"); - } - public interface IExecutingDriver : IWebDriver, IJavaScriptExecutor { } diff --git a/dotnet/test/support/Selenium.Support.Tests.csproj b/dotnet/test/support/Selenium.Support.Tests.csproj index 13d192d52937b..d14b59dc33703 100644 --- a/dotnet/test/support/Selenium.Support.Tests.csproj +++ b/dotnet/test/support/Selenium.Support.Tests.csproj @@ -15,6 +15,7 @@ + diff --git a/dotnet/test/webdriver/BUILD.bazel b/dotnet/test/webdriver/BUILD.bazel index 1e82ba627c782..a8aa647091b88 100644 --- a/dotnet/test/webdriver/BUILD.bazel +++ b/dotnet/test/webdriver/BUILD.bazel @@ -50,6 +50,7 @@ dotnet_nunit_test_suite( "//dotnet/src/webdriver:webdriver-net8.0", "//dotnet/test/testing.webserver", nuget_package("BenderProxy"), + nuget_package("NUnit.Analyzers"), nuget_package("Runfiles"), ], ) diff --git a/dotnet/test/webdriver/BiDi/BiDiFixture.cs b/dotnet/test/webdriver/BiDi/BiDiFixture.cs index 057176d488c5c..af3f76b9da7d9 100644 --- a/dotnet/test/webdriver/BiDi/BiDiFixture.cs +++ b/dotnet/test/webdriver/BiDi/BiDiFixture.cs @@ -25,7 +25,7 @@ namespace OpenQA.Selenium.Tests.BiDi; [Parallelizable(ParallelScope.All)] [FixtureLifeCycle(LifeCycle.InstancePerTestCase)] -public class BiDiTestFixture +public abstract class BiDiTestFixture { protected IWebDriver driver; protected IBiDi bidi; diff --git a/dotnet/test/webdriver/BiDi/BrowsingContext/BrowsingContextTests.cs b/dotnet/test/webdriver/BiDi/BrowsingContext/BrowsingContextTests.cs index c59ea76c8ae7d..3ad07d6856b93 100644 --- a/dotnet/test/webdriver/BiDi/BrowsingContext/BrowsingContextTests.cs +++ b/dotnet/test/webdriver/BiDi/BrowsingContext/BrowsingContextTests.cs @@ -141,7 +141,7 @@ public async Task CanCloseWindow() var tree = await bidi.BrowsingContext.GetTreeAsync(); - Assert.That(tree.Contexts.Select(i => i.Context), Does.Not.Contain(window)); + Assert.That(tree.Contexts.Select(i => i.Context), Does.Not.Contain(window.Context)); } [Test] @@ -153,7 +153,7 @@ public async Task CanCloseTab() var tree = await bidi.BrowsingContext.GetTreeAsync(); - Assert.That(tree.Contexts.Select(i => i.Context), Does.Not.Contain(tab)); + Assert.That(tree.Contexts.Select(i => i.Context), Does.Not.Contain(tab.Context)); } [Test] diff --git a/dotnet/test/webdriver/BiDi/Session/SessionTests.cs b/dotnet/test/webdriver/BiDi/Session/SessionTests.cs index 067909bd006f6..ff69757a4ff1d 100644 --- a/dotnet/test/webdriver/BiDi/Session/SessionTests.cs +++ b/dotnet/test/webdriver/BiDi/Session/SessionTests.cs @@ -63,7 +63,9 @@ public void ShouldRespectCancellationToken() [Test] public void AsModuleShouldReturnSameInstanceForSameType() { - Assert.That(bidi.AsModule(), Is.SameAs(bidi.AsModule())); + var module = bidi.AsModule(); + + Assert.That(bidi.AsModule(), Is.SameAs(module)); } [Test] diff --git a/dotnet/test/webdriver/DevTools/DevToolsDomainsTests.cs b/dotnet/test/webdriver/DevTools/DevToolsDomainsTests.cs index 280e73b145321..df4b7f1422760 100644 --- a/dotnet/test/webdriver/DevTools/DevToolsDomainsTests.cs +++ b/dotnet/test/webdriver/DevTools/DevToolsDomainsTests.cs @@ -33,9 +33,14 @@ public async Task VerifyVersionSpecificDomainsAccessors() { var domains = ((DevToolsSession)session).Domains; - Assert.That(domains.Log, Is.SameAs(domains.Log)); - Assert.That(domains.Network, Is.SameAs(domains.Network)); - Assert.That(domains.Target, Is.SameAs(domains.Target)); - Assert.That(domains.JavaScript, Is.SameAs(domains.JavaScript)); + var log = domains.Log; + var network = domains.Network; + var target = domains.Target; + var javascript = domains.JavaScript; + + Assert.That(domains.Log, Is.SameAs(log)); + Assert.That(domains.Network, Is.SameAs(network)); + Assert.That(domains.Target, Is.SameAs(target)); + Assert.That(domains.JavaScript, Is.SameAs(javascript)); } } diff --git a/dotnet/test/webdriver/DevTools/DevToolsTargetTests.cs b/dotnet/test/webdriver/DevTools/DevToolsTargetTests.cs index b194499aa2d85..2b2145d20d460 100644 --- a/dotnet/test/webdriver/DevTools/DevToolsTargetTests.cs +++ b/dotnet/test/webdriver/DevTools/DevToolsTargetTests.cs @@ -160,7 +160,7 @@ await domains.Target.SetDiscoverTargets(new CurrentCdpVersion.Target.SetDiscover private void ValidateTargetCrashed(CurrentCdpVersion.Target.TargetCrashedEventArgs targetCrashed) { Assert.That(targetCrashed, Is.Not.Null); - Assert.That(targetCrashed.ErrorCode, Is.Not.Null); + Assert.That(targetCrashed.ErrorCode, Is.Not.Zero); Assert.That(targetCrashed.Status, Is.Not.Null); Assert.That(targetCrashed.TargetId, Is.Not.Null); } diff --git a/dotnet/test/webdriver/DevTools/DevToolsTestFixture.cs b/dotnet/test/webdriver/DevTools/DevToolsTestFixture.cs index 7088a3008f7cd..54339e770740d 100644 --- a/dotnet/test/webdriver/DevTools/DevToolsTestFixture.cs +++ b/dotnet/test/webdriver/DevTools/DevToolsTestFixture.cs @@ -23,7 +23,7 @@ namespace OpenQA.Selenium.Tests.DevTools; -public class DevToolsTestFixture : DriverTestFixture +public abstract class DevToolsTestFixture : DriverTestFixture { protected IDevTools devTools; protected IDevToolsSession session; diff --git a/dotnet/test/webdriver/DownloadsTests.cs b/dotnet/test/webdriver/DownloadsTests.cs index d829ab10167ad..1303931c8fe74 100644 --- a/dotnet/test/webdriver/DownloadsTests.cs +++ b/dotnet/test/webdriver/DownloadsTests.cs @@ -41,7 +41,7 @@ public void QuitAdditionalDriver() { if (localDriver != null) { - localDriver.Quit(); + localDriver.Dispose(); localDriver = null; } diff --git a/dotnet/test/webdriver/DriverTestFixture.cs b/dotnet/test/webdriver/DriverTestFixture.cs index d070127935ee4..7c06fccd70fa4 100644 --- a/dotnet/test/webdriver/DriverTestFixture.cs +++ b/dotnet/test/webdriver/DriverTestFixture.cs @@ -131,11 +131,19 @@ public void SetUp() driver = EnvironmentManager.Instance.GetCurrentDriver(); } + [OneTimeTearDown] + public void TearDown() + { + EnvironmentManager.Instance.CloseCurrentDriver(); + driver?.Dispose(); + } + [TearDown] public void ResetOnError() { if (TestContext.CurrentContext.Result.Outcome == Error) { + driver?.Dispose(); driver = EnvironmentManager.Instance.CreateFreshDriver(); } } diff --git a/dotnet/test/webdriver/PageLoadingTests.cs b/dotnet/test/webdriver/PageLoadingTests.cs index df38b3a38b4f6..edecad963175a 100644 --- a/dotnet/test/webdriver/PageLoadingTests.cs +++ b/dotnet/test/webdriver/PageLoadingTests.cs @@ -37,7 +37,7 @@ public void QuitAdditionalDriver() { if (localDriver != null) { - localDriver.Quit(); + localDriver.Dispose(); localDriver = null; } } diff --git a/dotnet/test/webdriver/ProxySettingTests.cs b/dotnet/test/webdriver/ProxySettingTests.cs index f8deaa553783b..c83f866a44fb3 100644 --- a/dotnet/test/webdriver/ProxySettingTests.cs +++ b/dotnet/test/webdriver/ProxySettingTests.cs @@ -48,7 +48,7 @@ public void QuitAdditionalDriver() { if (localDriver != null) { - localDriver.Quit(); + localDriver.Dispose(); localDriver = null; } diff --git a/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj b/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj index 67dd19bd07f14..4aaf8ec44207b 100644 --- a/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj +++ b/dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj @@ -15,6 +15,7 @@ + diff --git a/dotnet/test/webdriver/TimeoutDriverOptionsTests.cs b/dotnet/test/webdriver/TimeoutDriverOptionsTests.cs index aa528d31a26c8..653ad99c1f7a4 100644 --- a/dotnet/test/webdriver/TimeoutDriverOptionsTests.cs +++ b/dotnet/test/webdriver/TimeoutDriverOptionsTests.cs @@ -33,7 +33,7 @@ public class TimeoutDriverOptionsTests [TearDown] public void TearDown() { - driver?.Quit(); + driver?.Dispose(); } [Test] diff --git a/dotnet/test/webdriver/UnexpectedAlertBehaviorTests.cs b/dotnet/test/webdriver/UnexpectedAlertBehaviorTests.cs index 45e875c1a4129..175cfd24def6c 100644 --- a/dotnet/test/webdriver/UnexpectedAlertBehaviorTests.cs +++ b/dotnet/test/webdriver/UnexpectedAlertBehaviorTests.cs @@ -37,7 +37,7 @@ public void QuitDriver() { if (localDriver != null) { - localDriver.Quit(); + localDriver.Dispose(); localDriver = null; }