From e9306a0a95464b9580441cfa5f3471547da0d2ac Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:11:12 +0300 Subject: [PATCH 1/8] [dotnet] [test] Add nunit analyzer --- dotnet/paket.dependencies | 1 + dotnet/paket.lock | 11 ++++++----- dotnet/paket.nuget.bzl | 1 + dotnet/test/remote/BUILD.bazel | 1 + .../remote/Selenium.WebDriver.Remote.Tests.csproj | 1 + dotnet/test/support/BUILD.bazel | 1 + dotnet/test/support/Selenium.Support.Tests.csproj | 1 + dotnet/test/webdriver/BUILD.bazel | 1 + dotnet/test/webdriver/Selenium.WebDriver.Tests.csproj | 1 + 9 files changed, 14 insertions(+), 5 deletions(-) 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..44fe5508fac63 100644 --- a/dotnet/paket.lock +++ b/dotnet/paket.lock @@ -7,9 +7,9 @@ NUGET remote: https://api.nuget.org/v3/index.json BenderProxy (1.1.2) Castle.Core (5.1.1) - System.Diagnostics.EventLog (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netstandard2.1)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) + System.Diagnostics.EventLog (>= 4.7) - restriction: || (&& (== net462) (>= netstandard2.1)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) System.Diagnostics.EventLog (>= 6.0) - restriction: || (&& (== net462) (>= net6.0)) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) - System.Reflection.Emit (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) + System.Reflection.Emit (>= 4.7) - restriction: || (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) CommandLineParser (2.8) Handlebars.Net (1.11.5) Microsoft.CSharp (>= 4.4) - restriction: || (&& (== net462) (< net452) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) @@ -30,7 +30,7 @@ NUGET Microsoft.Testing.Extensions.Telemetry (2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.ApplicationInsights (>= 2.23) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) - System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netstandard2.0)) (== netstandard2.0) + System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== netstandard2.0) Microsoft.Testing.Extensions.TrxReport.Abstractions (2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Extensions.VSTestBridge (2.1) @@ -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)) @@ -67,12 +68,12 @@ NUGET System.Security.Principal.Windows (>= 5.0) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netcoreapp3.1)) (== netstandard2.0) System.Memory (4.5.5) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) System.Buffers (>= 4.5.1) - restriction: || (== net462) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (< net45) (>= netstandard2.0)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net462) (< net45) (>= netstandard2.0)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) System.Numerics.Vectors (>= 4.5) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== netstandard2.0) (>= net461)) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net462) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netcoreapp2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== netstandard2.0) System.Numerics.Vectors (4.5) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) System.Reflection.Emit (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) - System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (< net45)) (&& (== net462) (< netstandard1.1)) (&& (== net462) (>= uap10.1)) (&& (== net462) (>= wpa81)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net462) (< net45)) (&& (== net462) (< netstandard1.1)) (&& (== net462) (>= uap10.1)) (&& (== net462) (>= wpa81)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Metadata (8.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) System.Collections.Immutable (>= 8.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/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/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 @@ + From adc9185fa1044b459579e2e2197ce6813ebcf82b Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:19:09 +0300 Subject: [PATCH 2/8] Fix part 1 --- .../webdriver/BiDi/BrowsingContext/BrowsingContextTests.cs | 4 ++-- dotnet/test/webdriver/DevTools/DevToolsTargetTests.cs | 2 +- dotnet/test/webdriver/DownloadsTests.cs | 2 +- dotnet/test/webdriver/PageLoadingTests.cs | 2 +- dotnet/test/webdriver/ProxySettingTests.cs | 2 +- dotnet/test/webdriver/TimeoutDriverOptionsTests.cs | 2 +- dotnet/test/webdriver/UnexpectedAlertBehaviorTests.cs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) 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/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/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/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/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; } From 126239d009d6aa3cb37e6ce16bdc23641e50074a Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:24:36 +0300 Subject: [PATCH 3/8] Fix part 2 --- dotnet/test/support/Events/EventFiringWebDriverTests.cs | 6 ++++++ dotnet/test/webdriver/DriverTestFixture.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/dotnet/test/support/Events/EventFiringWebDriverTests.cs b/dotnet/test/support/Events/EventFiringWebDriverTests.cs index e667fca8119ac..4c0151af0ecb0 100644 --- a/dotnet/test/support/Events/EventFiringWebDriverTests.cs +++ b/dotnet/test/support/Events/EventFiringWebDriverTests.cs @@ -50,6 +50,12 @@ public void Setup() log = new StringBuilder(); } + [TearDown] + public void TearDown() + { + stubDriver?.Dispose(); + } + [Test] public void ShouldFireNavigationEvents() { diff --git a/dotnet/test/webdriver/DriverTestFixture.cs b/dotnet/test/webdriver/DriverTestFixture.cs index d070127935ee4..6c372dc2dbba9 100644 --- a/dotnet/test/webdriver/DriverTestFixture.cs +++ b/dotnet/test/webdriver/DriverTestFixture.cs @@ -131,11 +131,18 @@ public void SetUp() driver = EnvironmentManager.Instance.GetCurrentDriver(); } + [OneTimeTearDown] + public void TearDown() + { + driver?.Dispose(); + } + [TearDown] public void ResetOnError() { if (TestContext.CurrentContext.Result.Outcome == Error) { + driver?.Dispose(); driver = EnvironmentManager.Instance.CreateFreshDriver(); } } From 5d4f22b71b97d11b9edbc11ddfc8cc0a9bbc169c Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:28:29 +0300 Subject: [PATCH 4/8] And warnings --- dotnet/test/webdriver/BiDi/BiDiFixture.cs | 2 +- dotnet/test/webdriver/BiDi/Session/SessionTests.cs | 4 +++- .../test/webdriver/DevTools/DevToolsDomainsTests.cs | 13 +++++++++---- .../test/webdriver/DevTools/DevToolsTestFixture.cs | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) 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/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/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; From 28ea17f8b803c4aa5b2fe7aeda7d81958c01e844 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:32:01 +0300 Subject: [PATCH 5/8] Update paket.lock --- dotnet/paket.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dotnet/paket.lock b/dotnet/paket.lock index 44fe5508fac63..0c266e8f10c5e 100644 --- a/dotnet/paket.lock +++ b/dotnet/paket.lock @@ -7,9 +7,9 @@ NUGET remote: https://api.nuget.org/v3/index.json BenderProxy (1.1.2) Castle.Core (5.1.1) - System.Diagnostics.EventLog (>= 4.7) - restriction: || (&& (== net462) (>= netstandard2.1)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) + System.Diagnostics.EventLog (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netstandard2.1)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) System.Diagnostics.EventLog (>= 6.0) - restriction: || (&& (== net462) (>= net6.0)) (== net8.0) (&& (== netstandard2.0) (>= net6.0)) - System.Reflection.Emit (>= 4.7) - restriction: || (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) + System.Reflection.Emit (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) CommandLineParser (2.8) Handlebars.Net (1.11.5) Microsoft.CSharp (>= 4.4) - restriction: || (&& (== net462) (< net452) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) @@ -30,7 +30,7 @@ NUGET Microsoft.Testing.Extensions.Telemetry (2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.ApplicationInsights (>= 2.23) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) - System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== netstandard2.0) + System.Diagnostics.DiagnosticSource (>= 6.0) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (>= netstandard2.0)) (== netstandard2.0) Microsoft.Testing.Extensions.TrxReport.Abstractions (2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Platform (>= 2.1) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) Microsoft.Testing.Extensions.VSTestBridge (2.1) @@ -68,12 +68,12 @@ NUGET System.Security.Principal.Windows (>= 5.0) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< net6.0)) (&& (== net8.0) (< netcoreapp3.1)) (== netstandard2.0) System.Memory (4.5.5) - restriction: || (== net462) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< net6.0)) (== netstandard2.0) System.Buffers (>= 4.5.1) - restriction: || (== net462) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== netstandard2.0) - System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net462) (< net45) (>= netstandard2.0)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) + System.Numerics.Vectors (>= 4.4) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (< net45) (>= netstandard2.0)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) System.Numerics.Vectors (>= 4.5) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== netstandard2.0) (>= net461)) System.Runtime.CompilerServices.Unsafe (>= 4.5.3) - restriction: || (== net462) (&& (== net8.0) (>= monotouch)) (&& (== net8.0) (>= net461)) (&& (== net8.0) (< netcoreapp2.0)) (&& (== net8.0) (< netcoreapp2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (&& (== net8.0) (>= xamarinios)) (&& (== net8.0) (>= xamarinmac)) (&& (== net8.0) (>= xamarintvos)) (&& (== net8.0) (>= xamarinwatchos)) (== netstandard2.0) System.Numerics.Vectors (4.5) - restriction: || (== net462) (&& (== net8.0) (>= net461)) (&& (== net8.0) (>= net462)) (&& (== net8.0) (< netcoreapp2.0)) (== netstandard2.0) System.Reflection.Emit (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netstandard2.1)) (== netstandard2.0) - System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net462) (< net45)) (&& (== net462) (< netstandard1.1)) (&& (== net462) (>= uap10.1)) (&& (== net462) (>= wpa81)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) + System.Reflection.Emit.ILGeneration (>= 4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net462) (< net45)) (&& (== net462) (< netstandard1.1)) (&& (== net462) (>= uap10.1)) (&& (== net462) (>= wpa81)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Emit.ILGeneration (4.7) - restriction: || (&& (== net462) (== net8.0)) (&& (== net8.0) (< netcoreapp2.0) (< netstandard2.1)) (&& (== net8.0) (< netstandard1.1)) (&& (== net8.0) (< netstandard2.0)) (&& (== net8.0) (>= uap10.1)) (== netstandard2.0) System.Reflection.Metadata (8.0) - restriction: || (&& (== net462) (>= netstandard2.0)) (== net8.0) (== netstandard2.0) System.Collections.Immutable (>= 8.0) From 0c9bd95d476c0d1e94f164c31e89fa95c6567600 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 18:44:21 +0300 Subject: [PATCH 6/8] Close one time --- dotnet/test/webdriver/DriverTestFixture.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/dotnet/test/webdriver/DriverTestFixture.cs b/dotnet/test/webdriver/DriverTestFixture.cs index 6c372dc2dbba9..7c06fccd70fa4 100644 --- a/dotnet/test/webdriver/DriverTestFixture.cs +++ b/dotnet/test/webdriver/DriverTestFixture.cs @@ -134,6 +134,7 @@ public void SetUp() [OneTimeTearDown] public void TearDown() { + EnvironmentManager.Instance.CloseCurrentDriver(); driver?.Dispose(); } From 6c46f10da5feea5ed11fcc211e7e655690fdbd90 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 19:05:14 +0300 Subject: [PATCH 7/8] Fix stub driver usage --- .../Events/EventFiringWebDriverTests.cs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/dotnet/test/support/Events/EventFiringWebDriverTests.cs b/dotnet/test/support/Events/EventFiringWebDriverTests.cs index 4c0151af0ecb0..4a3eee7a8180f 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] @@ -50,12 +49,6 @@ public void Setup() log = new StringBuilder(); } - [TearDown] - public void TearDown() - { - stubDriver?.Dispose(); - } - [Test] public void ShouldFireNavigationEvents() { @@ -232,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"; } @@ -294,11 +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); From 4fead34eeec3906606c9ab77c8a8665070c091a0 Mon Sep 17 00:00:00 2001 From: Nikolay Borisenko <22616990+nvborisenko@users.noreply.github.com> Date: Tue, 19 May 2026 19:08:06 +0300 Subject: [PATCH 8/8] Inline event handlers --- .../Events/EventFiringWebDriverTests.cs | 77 +++---------------- 1 file changed, 11 insertions(+), 66 deletions(-) diff --git a/dotnet/test/support/Events/EventFiringWebDriverTests.cs b/dotnet/test/support/Events/EventFiringWebDriverTests.cs index 4a3eee7a8180f..cf67165a7e41e 100644 --- a/dotnet/test/support/Events/EventFiringWebDriverTests.cs +++ b/dotnet/test/support/Events/EventFiringWebDriverTests.cs @@ -59,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"); @@ -98,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(); @@ -157,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")); @@ -185,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")), @@ -290,61 +290,6 @@ public void ShouldFireFindEventsInShadowRoot() Assert.That(findElementCompletedArgs.Element, Is.Null); } - 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 { }