Skip to content

[dotnet] [test] Rename namespace for common test project#17276

Merged
nvborisenko merged 6 commits intoSeleniumHQ:trunkfrom
nvborisenko:dotnet-test-common-namespace
Mar 30, 2026
Merged

[dotnet] [test] Rename namespace for common test project#17276
nvborisenko merged 6 commits intoSeleniumHQ:trunkfrom
nvborisenko:dotnet-test-common-namespace

Conversation

@nvborisenko
Copy link
Copy Markdown
Member

@nvborisenko nvborisenko commented Mar 30, 2026

Trying to clean common test project:

  • normalized namespace
  • moved non-fixtures to Infrastructure folder
  • added global usings

🔗 Related Issues

Contributes to #15536

💥 What does this PR do?

This pull request restructures the .NET WebDriver test suite by consolidating the shared test code from the common test project into a new webdriver test project. All references, dependencies, and visibility settings have been updated accordingly across the build system, solution, and test projects. Additionally, some namespace imports have been updated to reflect the new organization.

Key changes:

Test Project Consolidation and References

  • Removed the dotnet/test/common test project and introduced dotnet/test/webdriver as the new location for shared test code. All test projects and build files now reference webdriver instead of common. [1] [2] [3] [4] [5] [6] [7]

Build and Visibility Updates

  • Updated Bazel build files to replace references to common with webdriver for test data, dependencies, and visibility settings, ensuring the new shared test project is used throughout. [1] [2] [3] [4] [5] [6]

InternalsVisibleTo and Assembly Metadata

  • Changed InternalsVisibleTo attributes and related metadata from WebDriver.Common.Tests to WebDriver.Tests in both project files and Bazel build definitions. [1] [2] [3] [4]

Namespace and Import Adjustments

  • Updated using statements in test files to import from the new OpenQA.Selenium.Tests and OpenQA.Selenium.Tests.Infrastructure.Environment namespaces, reflecting the new project structure. [1] [2] [3] [4] [5]

These changes improve the maintainability and clarity of the .NET WebDriver test suite by centralizing shared test infrastructure and updating references throughout the codebase.

🔄 Types of changes

  • Cleanup (formatting, renaming)

@selenium-ci selenium-ci added C-dotnet .NET Bindings B-support Issue or PR related to support classes labels Mar 30, 2026
@selenium-ci
Copy link
Copy Markdown
Member

Thank you, @nvborisenko for this code suggestion.

The support packages contain example code that many users find helpful, but they do not necessarily represent
the best practices for using Selenium, and the Selenium team is not currently merging changes to them.

After reviewing the change, unless it is a critical fix or a feature that is needed for Selenium
to work, we will likely close the PR.

We actively encourage people to add the wrapper and helper code that makes sense for them to their own frameworks.
If you have any questions, please contact us

@qodo-code-review
Copy link
Copy Markdown
Contributor

Review Summary by Qodo

Refactor .NET test suite with unified namespace structure and infrastructure reorganization

🧪 Tests

Grey Divider

Walkthroughs

Description
  Comprehensive refactoring of the .NET test suite to improve code organization and maintainability:
  * **Namespace reorganization**: Moved all test classes from scattered namespaces (e.g.,
  OpenQA.Selenium, OpenQA.Selenium.DevTools, OpenQA.Selenium.BiDi.*) into a unified structure
  under OpenQA.Selenium.Common.Tests and its sub-namespaces
  * **Infrastructure consolidation**: Reorganized test infrastructure and utilities into
  OpenQA.Selenium.Common.Tests.Infrastructure with sub-folders for DriverConfigs and Environment
  * **Global usings**: Added centralized GlobalUsings.cs file to reduce import duplication across
  test files
  * **Import standardization**: Updated all references from OpenQA.Selenium.Environment to
  OpenQA.Selenium.Common.Tests.Infrastructure.Environment throughout the test suite
  * **Browser enum simplification**: Simplified IgnoreBrowser attributes by removing Selenium.
  prefix and using Infrastructure.Browser references
  * **Type reference cleanup**: Removed unnecessary namespace prefixes in type references (e.g.,
  BrowsingContext.ContextType.WindowContextType.Window)
  * **Unused imports removal**: Cleaned up unused using statements across all test files
  * **Project configuration**: Updated Selenium.WebDriver.Common.Tests.csproj root namespace and
  appconfig.json driver configuration references

Grey Divider

File Changes

1. dotnet/test/common/DevTools/DevToolsNetworkTests.cs Refactoring +52/-56

Namespace refactoring and browser enum simplification

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix (e.g., Selenium.Browser.IEBrowser.IE)
• Removed unused using statements for System, System.Threading, System.Threading.Task, and
 NUnit.Framework

dotnet/test/common/DevTools/DevToolsNetworkTests.cs


2. dotnet/test/common/BiDi/Emulation/EmulationTests.cs Refactoring +28/-28

BiDi emulation tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Emulation to
 OpenQA.Selenium.Common.Tests.BiDi.Emulation
• Added import for OpenQA.Selenium.BiDi.Emulation
• Updated IgnoreBrowser attributes to use Infrastructure.Browser prefix instead of
 Selenium.Browser
• Qualified ScreenOrientation with full namespace
 OpenQA.Selenium.BiDi.Emulation.ScreenOrientation

dotnet/test/common/BiDi/Emulation/EmulationTests.cs


3. dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTests.cs Refactoring +42/-46

Virtual authenticator tests namespace and browser enum cleanup

• Updated namespace from OpenQA.Selenium.VirtualAuth to OpenQA.Selenium.Common.Tests.VirtualAuth
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.VirtualAuth
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements and cleaned up whitespace

dotnet/test/common/VirtualAuthn/VirtualAuthenticatorTests.cs


View more (156)
4. dotnet/test/common/DevTools/DevToolsPerformanceTests.cs Refactoring +25/-27

DevTools performance tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements for System.Threading.Task, NUnit.Framework, and System

dotnet/test/common/DevTools/DevToolsPerformanceTests.cs


5. dotnet/test/common/DevTools/DevToolsProfilerTests.cs Refactoring +17/-22

DevTools profiler tests namespace and browser reference cleanup

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements for System, System.Threading, System.Threading.Task, and
 NUnit.Framework
• Removed extra blank line

dotnet/test/common/DevTools/DevToolsProfilerTests.cs


6. dotnet/test/common/BiDi/Script/ScriptCommandsTests.cs Refactoring +13/-14

BiDi script commands tests namespace and type reference simplification

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext, OpenQA.Selenium.BiDi.Log, and
 OpenQA.Selenium.BiDi.Script
• Simplified type references by removing namespace prefixes (e.g.,
 BrowsingContext.ContextType.WindowContextType.Window)
• Simplified Log.LogEntryEventArgs to LogEntryEventArgs and Log.Level.Info to Level.Info
• Removed unused using statements and extra blank lines

dotnet/test/common/BiDi/Script/ScriptCommandsTests.cs


7. dotnet/test/common/DevTools/DevToolsTargetTests.cs Refactoring +14/-18

DevTools target tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements

dotnet/test/common/DevTools/DevToolsTargetTests.cs


8. dotnet/test/common/BiDi/Browser/BrowserTests.cs Refactoring +10/-14

BiDi browser tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Browser to
 OpenQA.Selenium.Common.Tests.BiDi.Browser
• Updated IgnoreBrowser attributes to use Infrastructure.Browser prefix instead of
 Selenium.Browser
• Removed unused using statements for System.Linq, System.Threading.Task, and
 NUnit.Framework

dotnet/test/common/BiDi/Browser/BrowserTests.cs


9. dotnet/test/common/ExecutingJavascriptTests.cs Refactoring +12/-15

Executing JavaScript tests namespace and environment manager reference updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Added import for OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Changed Environment.EnvironmentManager to EnvironmentManager reference
• Removed unused using statements

dotnet/test/common/ExecutingJavascriptTests.cs


10. dotnet/test/common/BiDi/Storage/StorageTests.cs Refactoring +4/-7

BiDi storage tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Storage to
 OpenQA.Selenium.Common.Tests.BiDi.Storage
• Updated IgnoreBrowser attributes to use Infrastructure.Browser prefix instead of
 Selenium.Browser
• Removed unused using statements for System, System.Threading.Task, and NUnit.Framework

dotnet/test/common/BiDi/Storage/StorageTests.cs


11. dotnet/test/common/DevTools/DevToolsSecurityTests.cs Refactoring +10/-14

DevTools security tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements

dotnet/test/common/DevTools/DevToolsSecurityTests.cs


12. dotnet/test/common/BiDi/WebExtension/WebExtensionTests.cs Refactoring +9/-9

BiDi web extension tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.WebExtension to
 OpenQA.Selenium.Common.Tests.BiDi.WebExtension
• Added import for OpenQA.Selenium.BiDi.WebExtension
• Updated class-level IgnoreBrowser attributes to use Infrastructure.Browser prefix
• Updated method-level IgnoreBrowser attributes to use Infrastructure.Browser prefix
• Removed unused using statements

dotnet/test/common/BiDi/WebExtension/WebExtensionTests.cs


13. dotnet/test/common/ChildrenFindingTests.cs Refactoring +1/-6

Children finding tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused NUnit.Framework import

dotnet/test/common/ChildrenFindingTests.cs


14. dotnet/test/common/BiDi/Network/NetworkTests.cs Refactoring +5/-6

BiDi network tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Network to
 OpenQA.Selenium.Common.Tests.BiDi.Network
• Added imports for OpenQA.Selenium.BiDi, OpenQA.Selenium.BiDi.BrowsingContext, and
 OpenQA.Selenium.BiDi.Network
• Updated IgnoreBrowser attributes to use Infrastructure.Browser prefix
• Removed unused using statements

dotnet/test/common/BiDi/Network/NetworkTests.cs


15. dotnet/test/common/DevTools/DevToolsLogTests.cs Refactoring +6/-10

DevTools log tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements

dotnet/test/common/DevTools/DevToolsLogTests.cs


16. dotnet/test/common/BiDi/Script/ScriptEventsTests.cs Refactoring +5/-6

BiDi script events tests namespace and type reference simplification

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext and OpenQA.Selenium.BiDi.Script
• Simplified type references by removing namespace prefixes (e.g.,
 BrowsingContext.ContextType.WindowContextType.Window)
• Removed unused using statements

dotnet/test/common/BiDi/Script/ScriptEventsTests.cs


17. dotnet/test/common/DevTools/DevToolsConsoleTests.cs Refactoring +6/-10

DevTools console tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements

dotnet/test/common/DevTools/DevToolsConsoleTests.cs


18. dotnet/test/common/ClickScrollingTests.cs Refactoring +3/-5

Click scrolling tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements for System and NUnit.Framework
• Duplicate import of OpenQA.Selenium.Common.Tests.Infrastructure.Environment present

dotnet/test/common/ClickScrollingTests.cs


19. dotnet/test/common/DevTools/DevToolsTabsTests.cs Refactoring +5/-7

DevTools tabs tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Simplified IgnoreBrowser attributes by removing Selenium. prefix
• Removed unused using statements for System.Threading.Task and NUnit.Framework

dotnet/test/common/DevTools/DevToolsTabsTests.cs


20. dotnet/test/common/BiDi/Network/NetworkEventsTests.cs Refactoring +5/-6

BiDi network events tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Network to
 OpenQA.Selenium.Common.Tests.BiDi.Network
• Added import for OpenQA.Selenium.BiDi.Network
• Updated IgnoreBrowser attributes to use Infrastructure.Browser prefix
• Removed unused using statements

dotnet/test/common/BiDi/Network/NetworkEventsTests.cs


21. dotnet/test/common/BiDi/Script/CallFunctionParameterTests.cs Refactoring +4/-4

BiDi script call function parameter tests namespace and type reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext and OpenQA.Selenium.BiDi.Script
• Simplified type reference by removing namespace prefix (e.g., BrowsingContext.ContextType.TabContextType.Tab)
• Removed unused using statements

dotnet/test/common/BiDi/Script/CallFunctionParameterTests.cs


22. dotnet/test/common/BiDi/Script/EvaluateParametersTests.cs Refactoring +4/-4

BiDi script evaluate parameters tests namespace and type reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext and OpenQA.Selenium.BiDi.Script
• Simplified type reference by removing namespace prefix (e.g., BrowsingContext.ContextType.TabContextType.Tab)
• Removed unused using statements

dotnet/test/common/BiDi/Script/EvaluateParametersTests.cs


23. dotnet/test/common/BiDi/Log/LogTests.cs Refactoring +4/-5

BiDi log tests namespace and type reference simplification

• Updated namespace from OpenQA.Selenium.BiDi.Log to OpenQA.Selenium.Common.Tests.BiDi.Log
• Added imports for OpenQA.Selenium.BiDi.Log and OpenQA.Selenium.BiDi.Script
• Simplified type reference from Script.StringRemoteValue to StringRemoteValue
• Removed unused using statements

dotnet/test/common/BiDi/Log/LogTests.cs


24. dotnet/test/common/CorrectEventFiringTests.cs Refactoring +2/-6

Correct event firing tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/CorrectEventFiringTests.cs


25. dotnet/test/common/BiDi/Script/CallFunctionLocalValueTests.cs Refactoring +4/-4

BiDi script call function local value tests namespace and type reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext and OpenQA.Selenium.BiDi.Script
• Simplified type reference by removing namespace prefix (e.g., BrowsingContext.CssLocatorCssLocator)
• Removed unused using statements

dotnet/test/common/BiDi/Script/CallFunctionLocalValueTests.cs


26. dotnet/test/common/BiDi/Script/CallFunctionRemoteValueTests.cs Refactoring +2/-4

BiDi script call function remote value tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added import for OpenQA.Selenium.BiDi.Script
• Removed unused using statements

dotnet/test/common/BiDi/Script/CallFunctionRemoteValueTests.cs


27. dotnet/test/common/AssemblyFixture.cs Refactoring +4/-6

Assembly fixture namespace and logging reference updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Internal.Logging
• Simplified Log.SetLevel to use imported namespace
• Removed comment about namespace scope

dotnet/test/common/AssemblyFixture.cs


28. dotnet/test/common/BiDi/Speculation/SpeculationTests.cs Refactoring +4/-6

BiDi speculation tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium.BiDi.Speculation to
 OpenQA.Selenium.Common.Tests.BiDi.Speculation
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext, OpenQA.Selenium.BiDi.Speculation, and
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Updated IgnoreBrowser attribute to use Infrastructure.Browser prefix
• Removed unused using statements

dotnet/test/common/BiDi/Speculation/SpeculationTests.cs


29. dotnet/test/common/BiDi/BiDiFixture.cs Refactoring +5/-5

BiDi fixture namespace and type alias disambiguation

• Updated namespace from OpenQA.Selenium.BiDi to OpenQA.Selenium.Common.Tests.BiDi
• Added imports for OpenQA.Selenium.BiDi and
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added type alias BiDiBrowsingContext to disambiguate BrowsingContext.BrowsingContext
• Updated field type to use the alias
• Removed unused using statements

dotnet/test/common/BiDi/BiDiFixture.cs


30. dotnet/test/common/CookieImplementationTests.cs Refactoring +2/-5

Cookie implementation tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/CookieImplementationTests.cs


31. dotnet/test/common/Properties/GlobalUsings.cs ✨ Enhancement +26/-0

Global usings file for centralized imports

• New file created with global using declarations
• Includes global imports for NUnit.Framework, OpenQA.Selenium.Common.Tests.Infrastructure, and
 common System namespaces
• Centralizes common imports to reduce duplication across test files

dotnet/test/common/Properties/GlobalUsings.cs


32. dotnet/test/common/Infrastructure/DriverConfigs/DevChannelChromeDriver.cs Refactoring +23/-1

Dev channel Chrome driver namespace update

• Updated namespace from OpenQA.Selenium.Chrome to
 OpenQA.Selenium.Common.Tests.Infrastructure.DriverConfigs
• Added import for OpenQA.Selenium.Chrome
• Fixed duplicate copyright header

dotnet/test/common/Infrastructure/DriverConfigs/DevChannelChromeDriver.cs


33. dotnet/test/common/BiDi/Permissions/PermissionsTests.cs Refactoring +4/-4

BiDi permissions tests namespace and import updates

• Updated namespace from OpenQA.Selenium.BiDi.Permissions to
 OpenQA.Selenium.Common.Tests.BiDi.Permissions
• Added imports for OpenQA.Selenium.BiDi.BrowsingContext, OpenQA.Selenium.BiDi.Permissions, and
 OpenQA.Selenium.BiDi.Script
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements
• Duplicate import of environment namespace present

dotnet/test/common/BiDi/Permissions/PermissionsTests.cs


34. dotnet/test/common/DownloadsTests.cs Refactoring +2/-6

Downloads tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/DownloadsTests.cs


35. dotnet/test/common/WindowTests.cs Refactoring +1/-5

Window tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements for System and NUnit.Framework

dotnet/test/common/WindowTests.cs


36. dotnet/test/common/BiDi/BrowsingContext/BrowsingContextEventsTests.cs Refactoring +2/-4

BiDi browsing context events tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.BrowsingContext to
 OpenQA.Selenium.Common.Tests.BiDi.BrowsingContext
• Added import for OpenQA.Selenium.BiDi.BrowsingContext
• Removed unused using statements

dotnet/test/common/BiDi/BrowsingContext/BrowsingContextEventsTests.cs


37. dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTests.cs Refactoring +2/-4

BiDi browsing context tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.BrowsingContext to
 OpenQA.Selenium.Common.Tests.BiDi.BrowsingContext
• Added import for OpenQA.Selenium.BiDi.BrowsingContext
• Removed unused using statements

dotnet/test/common/BiDi/BrowsingContext/BrowsingContextTests.cs


38. dotnet/test/common/BiDi/Input/InputEventsTests.cs Refactoring +3/-4

BiDi input events tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Input to OpenQA.Selenium.Common.Tests.BiDi.Input
• Added import for OpenQA.Selenium.BiDi.Input
• Removed unused using statements

dotnet/test/common/BiDi/Input/InputEventsTests.cs


39. dotnet/test/common/BiDi/Input/CombinedInputActionsTests.cs Refactoring +3/-3

BiDi combined input actions tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Input to OpenQA.Selenium.Common.Tests.BiDi.Input
• Added import for OpenQA.Selenium.BiDi.Input
• Removed unused using statements

dotnet/test/common/BiDi/Input/CombinedInputActionsTests.cs


40. dotnet/test/common/BiDi/Script/LocalValueConversionTests.cs Refactoring +3/-5

BiDi script local value conversion tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added import for OpenQA.Selenium.BiDi.Script
• Removed unused using statements

dotnet/test/common/BiDi/Script/LocalValueConversionTests.cs


41. dotnet/test/common/ElementAttributeTests.cs Refactoring +2/-7

Element attribute tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/ElementAttributeTests.cs


42. dotnet/test/common/AlertsTests.cs Refactoring +3/-5

Alerts tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements
• Duplicate import of environment namespace present

dotnet/test/common/AlertsTests.cs


43. dotnet/test/common/DevTools/DevToolsTestFixture.cs Refactoring +3/-3

DevTools test fixture namespace and import updates

• Updated namespace from OpenQA.Selenium.DevTools to OpenQA.Selenium.Common.Tests.DevTools
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.DevTools
• Removed unused NUnit.Framework import

dotnet/test/common/DevTools/DevToolsTestFixture.cs


44. dotnet/test/common/FrameSwitchingTests.cs Refactoring +2/-6

Frame switching tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/FrameSwitchingTests.cs


45. dotnet/test/common/ContentEditableTests.cs Refactoring +2/-4

Content editable tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/ContentEditableTests.cs


46. dotnet/test/common/BiDi/Script/RemoteValueConversionTests.cs Refactoring +2/-3

BiDi script remote value conversion tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Script to OpenQA.Selenium.Common.Tests.BiDi.Script
• Added import for OpenQA.Selenium.BiDi.Script
• Removed unused using statements

dotnet/test/common/BiDi/Script/RemoteValueConversionTests.cs


47. dotnet/test/common/BiDi/Session/SessionTests.cs Refactoring +1/-6

BiDi session tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Session to
 OpenQA.Selenium.Common.Tests.BiDi.Session
• Removed unused using statements

dotnet/test/common/BiDi/Session/SessionTests.cs


48. dotnet/test/common/BiDi/Input/SetFilesTests.cs Refactoring +1/-3

BiDi set files tests namespace update

• Updated namespace from OpenQA.Selenium.BiDi.Input to OpenQA.Selenium.Common.Tests.BiDi.Input
• Added import for OpenQA.Selenium.BiDi.BrowsingContext
• Removed unused using statements

dotnet/test/common/BiDi/Input/SetFilesTests.cs


49. dotnet/test/common/ClickTests.cs Refactoring +2/-4

Click tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/ClickTests.cs


50. dotnet/test/common/CssValueTests.cs Refactoring +2/-3

CSS value tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused NUnit.Framework import

dotnet/test/common/CssValueTests.cs


51. dotnet/test/common/ClearTests.cs Refactoring +2/-3

Clear tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused NUnit.Framework import

dotnet/test/common/ClearTests.cs


52. dotnet/test/common/CookieTests.cs Refactoring +1/-3

Cookie tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements for System and NUnit.Framework

dotnet/test/common/CookieTests.cs


53. dotnet/test/remote/RemoteWebDriverSpecificTests.cs Refactoring +4/-2

Remote WebDriver specific tests import and reference updates

• Added imports for OpenQA.Selenium.Common.Tests and OpenQA.Selenium.Common.Tests.Infrastructure
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Updated reference from Environment.EnvironmentManager to EnvironmentManager

dotnet/test/remote/RemoteWebDriverSpecificTests.cs


54. dotnet/test/common/CommandTests.cs Refactoring +1/-4

Command tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements

dotnet/test/common/CommandTests.cs


55. dotnet/test/common/DriverElementFindingTests.cs Refactoring +1/-2

Driver element finding tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused NUnit.Framework import

dotnet/test/common/DriverElementFindingTests.cs


56. dotnet/test/chrome/AssemblyTeardown.cs Refactoring +1/-1

Chrome assembly teardown environment import update

• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment

dotnet/test/chrome/AssemblyTeardown.cs


57. dotnet/test/common/Infrastructure/Environment/DriverFactory.cs Refactoring +1/-4

Driver factory namespace update

• Updated namespace from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements for System and System.Collections.Generic

dotnet/test/common/Infrastructure/Environment/DriverFactory.cs


58. dotnet/test/common/RelativeLocatorTests.cs Refactoring +3/-6

Relative locator tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements
• Duplicate import of environment namespace present

dotnet/test/common/RelativeLocatorTests.cs


59. dotnet/test/chrome/ChromeSpecificTests.cs Refactoring +1/-0

Chrome specific tests import addition

• Added import for OpenQA.Selenium.Common.Tests

dotnet/test/chrome/ChromeSpecificTests.cs


60. dotnet/test/common/JavascriptEnabledBrowserTests.cs Refactoring +1/-4

JavaScript enabled browser tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements for System and NUnit.Framework

dotnet/test/common/JavascriptEnabledBrowserTests.cs


61. dotnet/test/common/NetworkInterceptionTests.cs Refactoring +2/-4

Network interception tests namespace and browser reference updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Simplified IgnoreBrowser attribute by removing Selenium. prefix
• Removed unused using statements

dotnet/test/common/NetworkInterceptionTests.cs


62. dotnet/test/common/PageLoadingTests.cs Refactoring +2/-5

Page loading tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/PageLoadingTests.cs


63. dotnet/test/common/ElementSelectingTests.cs Refactoring +1/-4

Element selecting tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused NUnit.Framework import

dotnet/test/common/ElementSelectingTests.cs


64. dotnet/test/common/TargetLocatorTests.cs Refactoring +1/-5

Target locator tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements

dotnet/test/common/TargetLocatorTests.cs


65. dotnet/test/common/Infrastructure/IgnorePlatformAttribute.cs Refactoring +2/-5

Ignore platform attribute namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests.Infrastructure
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements and extra blank line

dotnet/test/common/Infrastructure/IgnorePlatformAttribute.cs


66. dotnet/test/common/ProxySettingTests.cs Refactoring +2/-6

Proxy setting tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/ProxySettingTests.cs


67. dotnet/test/common/Infrastructure/IgnoreTargetAttribute.cs Refactoring +2/-4

Ignore target attribute namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests.Infrastructure
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/Infrastructure/IgnoreTargetAttribute.cs


68. dotnet/test/common/Infrastructure/IgnoreBrowserAttribute.cs Refactoring +2/-4

Ignore browser attribute namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests.Infrastructure
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/Infrastructure/IgnoreBrowserAttribute.cs


69. dotnet/test/common/Interactions/CombinedInputActionsTests.cs Refactoring +3/-4

Interactions combined input actions tests namespace update

• Updated namespace from OpenQA.Selenium.Interactions to
 OpenQA.Selenium.Common.Tests.Interactions
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Interactions
• Removed unused using statements

dotnet/test/common/Interactions/CombinedInputActionsTests.cs


70. dotnet/test/common/Interactions/BasicKeyboardInterfaceTests.cs Refactoring +3/-4

Interactions basic keyboard interface tests namespace update

• Updated namespace from OpenQA.Selenium.Interactions to
 OpenQA.Selenium.Common.Tests.Interactions
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Interactions
• Removed unused using statements

dotnet/test/common/Interactions/BasicKeyboardInterfaceTests.cs


71. dotnet/test/common/Interactions/DragAndDropTests.cs Refactoring +3/-4

Interactions drag and drop tests namespace update

• Updated namespace from OpenQA.Selenium.Interactions to
 OpenQA.Selenium.Common.Tests.Interactions
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Interactions
• Removed unused using statements

dotnet/test/common/Interactions/DragAndDropTests.cs


72. dotnet/test/common/ProxyTests.cs Refactoring +1/-5

Proxy tests namespace update

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Removed unused using statements

dotnet/test/common/ProxyTests.cs


73. dotnet/test/common/Interactions/BasicMouseInterfaceTests.cs Refactoring +3/-4

Interactions basic mouse interface tests namespace update

• Updated namespace from OpenQA.Selenium.Interactions to
 OpenQA.Selenium.Common.Tests.Interactions
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Interactions
• Removed unused using statements

dotnet/test/common/Interactions/BasicMouseInterfaceTests.cs


74. dotnet/test/common/Infrastructure/Environment/RemoteSeleniumServer.cs Refactoring +1/-4

Remote Selenium server namespace update

• Updated namespace from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/Infrastructure/Environment/RemoteSeleniumServer.cs


75. dotnet/test/common/TextHandlingTests.cs Refactoring +3/-4

Text handling tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements
• Duplicate import of environment namespace present

dotnet/test/common/TextHandlingTests.cs


76. dotnet/test/common/TakesScreenshotTests.cs Refactoring +2/-5

Takes screenshot tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/TakesScreenshotTests.cs


77. dotnet/test/common/WindowSwitchingTests.cs Refactoring +2/-5

Window switching tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/WindowSwitchingTests.cs


78. dotnet/test/common/Infrastructure/DriverConfigs/StableChannelRemoteChromeDriver.cs Refactoring +3/-2

Stable channel remote Chrome driver namespace update

• Updated namespace from OpenQA.Selenium.Remote to
 OpenQA.Selenium.Common.Tests.Infrastructure.DriverConfigs
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Added import for OpenQA.Selenium.Remote

dotnet/test/common/Infrastructure/DriverConfigs/StableChannelRemoteChromeDriver.cs


79. dotnet/test/common/Infrastructure/Environment/TestWebServer.cs Refactoring +1/-3

Test web server namespace update

• Updated namespace from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/Infrastructure/Environment/TestWebServer.cs


80. dotnet/test/common/DriverTestFixture.cs Refactoring +2/-4

Driver test fixture namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/DriverTestFixture.cs


81. dotnet/test/common/FormHandlingTests.cs Refactoring +3/-4

Form handling tests namespace and environment import updates

• Updated namespace from OpenQA.Selenium to OpenQA.Selenium.Common.Tests
• Changed import from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements
• Duplicate import of environment namespace present

dotnet/test/common/FormHandlingTests.cs


82. dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs Refactoring +1/-4

Environment manager namespace update

• Updated namespace from OpenQA.Selenium.Environment to
 OpenQA.Selenium.Common.Tests.Infrastructure.Environment
• Removed unused using statements

dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs


83. dotnet/test/common/Infrastructure/DriverConfigs/EdgeInternetExplorerModeDriver.cs Refactoring +3/-1

Edge Internet Explorer mode driver namespace update

• Updated namespace from OpenQA.Selenium.IE to
 OpenQA.Selenium.Common.Tests.Infrastructure.DriverConfigs
• Added import for OpenQA.Selenium.IE

dotnet/test/common/Infrastructure/DriverConfigs/EdgeInternetExplorerModeDriver.cs


84. dotnet/test/common/VisibilityTests.cs Refactoring +2/-4

Visibility tests namespace and environment import updates

• Updated namespace fr...

@qodo-code-review
Copy link
Copy Markdown
Contributor

qodo-code-review bot commented Mar 30, 2026

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (1)

Grey Divider


Action required

1. RootNamespace set to Common.Tests 📎 Requirement gap ⚙ Maintainability
Description
The common .NET test project RootNamespace was changed to OpenQA.Selenium.Common.Tests instead
of the required standard OpenQA.Selenium.Tests. This diverges from the mandated convention and
increases confusion between product and test namespaces.
Code

dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj[6]

+    <RootNamespace>OpenQA.Selenium.Common.Tests</RootNamespace>
Evidence
Compliance ID 2 requires the default namespace convention OpenQA.Selenium.Tests. The PR explicitly
sets the project RootNamespace to OpenQA.Selenium.Common.Tests, which does not meet that
standard.

Use standard default namespace for .NET test project: OpenQA.Selenium.Tests
dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj[6-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The test project default namespace is set to `OpenQA.Selenium.Common.Tests` instead of the required standard `OpenQA.Selenium.Tests`.

## Issue Context
Compliance requires aligning the .NET test project default namespace with `OpenQA.Selenium.Tests` to avoid confusion with product namespaces and to keep naming consistent.

## Fix Focus Areas
- dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj[6-6]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. EnvironmentManager.Instance singleton still used📎 Requirement gap ⛯ Reliability
Description
The PR continues to use the static singleton EnvironmentManager.Instance, which preserves shared
global state in the test infrastructure. This undermines the compliance goal of parallel-safe tests
by design.
Code

dotnet/test/remote/RemoteWebDriverSpecificTests.cs[56]

+        EnvironmentManager.Instance.CloseCurrentDriver();
Evidence
Compliance ID 3 requires eliminating static/global environment management to enable safe
parallelization. The modified test code still calls EnvironmentManager.Instance, and
EnvironmentManager is implemented as a static singleton via `private static EnvironmentManager
instance and the public static EnvironmentManager Instance` property.

Eliminate static test environment context (e.g., EnvironmentManager) to enable parallelization
dotnet/test/remote/RemoteWebDriverSpecificTests.cs[56-56]
dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs[28-35]
dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs[203-203]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Tests continue to depend on a static singleton (`EnvironmentManager.Instance`), which violates the requirement to eliminate static/global test environment context for parallel-safe execution.

## Issue Context
The repository test infrastructure should avoid shared global state for environment management; static singletons can introduce cross-test interference and block parallelization.

## Fix Focus Areas
- dotnet/test/remote/RemoteWebDriverSpecificTests.cs[56-56]
- dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs[28-35]
- dotnet/test/common/Infrastructure/Environment/EnvironmentManager.cs[203-203]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Repo-wide namespace churn📘 Rule violation ⚙ Maintainability
Description
This PR performs a broad namespace refactor across a large number of test files and introduces new
global usings, increasing review/merge risk and making the change less reversible. This conflicts
with the requirement to avoid wide refactors/format-only churn where not strictly necessary.
Code

dotnet/test/common/Properties/GlobalUsings.cs[R20-26]

+global using global::NUnit.Framework;
+global using global::OpenQA.Selenium.Common.Tests.Infrastructure;
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.Linq;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
Evidence
Compliance ID 6 discourages broad, mechanical refactors that touch many files. The PR adds
project-wide global using directives and changes the test project root namespace, which drives
widespread namespace/import edits across the test tree.

AGENTS.md
dotnet/test/common/Properties/GlobalUsings.cs[20-26]
dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj[6-6]
dotnet/test/common/DriverTestFixture.cs[24-24]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The PR introduces broad mechanical changes (namespace moves + global usings) across many files, creating large churn and increasing risk.

## Issue Context
Compliance asks to avoid repo-wide refactors/format-only churn where possible; smaller, staged PRs reduce review burden and simplify rollback.

## Fix Focus Areas
- dotnet/test/common/Properties/GlobalUsings.cs[20-26]
- dotnet/test/common/Selenium.WebDriver.Common.Tests.csproj[6-6]
- dotnet/test/common/DriverTestFixture.cs[24-24]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


4. Duplicate using directives🐞 Bug ⚙ Maintainability
Description
Several common test files include the same `using
OpenQA.Selenium.Common.Tests.Infrastructure.Environment;` directive twice, which triggers compiler
warning CS0105. This adds build noise and can break CI if warnings are escalated to errors.
Code

dotnet/test/common/AlertsTests.cs[R20-21]

+using OpenQA.Selenium.Common.Tests.Infrastructure.Environment;
+using OpenQA.Selenium.Common.Tests.Infrastructure.Environment;
Evidence
The duplicated using lines are present in multiple files after the refactor, indicating an
accidental duplication during the namespace updates.

dotnet/test/common/AlertsTests.cs[20-21]
dotnet/test/common/RelativeLocatorTests.cs[20-23]
dotnet/test/common/FormHandlingTests.cs[20-22]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
Several files contain the same `using OpenQA.Selenium.Common.Tests.Infrastructure.Environment;` directive twice, which causes CS0105 warnings.

### Issue Context
These duplicates appear to be introduced during the namespace refactor.

### Fix Focus Areas
- dotnet/test/common/AlertsTests.cs[20-21]
- dotnet/test/common/RelativeLocatorTests.cs[20-23]
- dotnet/test/common/FormHandlingTests.cs[20-22]

### Suggested fix
Delete the extra duplicated `using` line in each affected file (keep a single `using ...Environment;`).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

5. Duplicate license header block🐞 Bug ⚙ Maintainability
Description
DevChannelChromeDriver.cs contains two consecutive identical copyright/license header blocks. This
adds noise and can interfere with tooling that checks/normalizes file headers.
Code

dotnet/test/common/Infrastructure/DriverConfigs/DevChannelChromeDriver.cs[R21-38]

+// <copyright file="DevChannelChromeDriver.cs" company="Selenium Committers">
+// Licensed to the Software Freedom Conservancy (SFC) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The SFC licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+// </copyright>
Evidence
The file shows the header comment repeated twice back-to-back before the first using directive.

dotnet/test/common/Infrastructure/DriverConfigs/DevChannelChromeDriver.cs[1-38]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`DevChannelChromeDriver.cs` includes the license/copyright header twice in a row.

### Issue Context
This appears to have been introduced when adding/moving headers during the refactor.

### Fix Focus Areas
- dotnet/test/common/Infrastructure/DriverConfigs/DevChannelChromeDriver.cs[1-38]

### Suggested fix
Remove one of the duplicated header blocks so the file contains exactly one standard header before the first `using` directive.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@nvborisenko nvborisenko merged commit 940bfca into SeleniumHQ:trunk Mar 30, 2026
41 of 47 checks passed
@nvborisenko nvborisenko deleted the dotnet-test-common-namespace branch March 30, 2026 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

B-support Issue or PR related to support classes C-dotnet .NET Bindings

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants