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
{
}