h3. Proposed Solution: Use Selenium Manager for Browser Driver Resolution
I suggest relying on Selenium Manager, which has been bundled with Selenium since version 4.6, instead of explicitly invoking {{WebDriverManager}} to configure browser drivers. h4. 1. Update {{WebDriverFactory.java}}
Call {{disableSeleniumManagerStatistics()}} from {{createWebDriver()}} before initializing the browser driver. This follows XWiki's existing factory-level approach and preserves any value explicitly configured through a system property or environment variable. h4. 2. Remove the Unnecessary Transitive Dependency
If {{WebDriverManager}} is no longer required elsewhere, ensure it is not retained through transitive dependencies. In particular, exclude {{io.github.bonigarcia:webdrivermanager}} from the {{com.deque.html.axe-core:selenium}} dependency, as appropriate for the targeted branch. h4. 3. Benefits * Reduces reliance on an additional browser-driver management library.
* Disables Selenium Manager statistics by default without overriding explicit user configuration.
* Keeps driver initialization centralized in XWiki's existing {{{}WebDriverFactory{}}}.
h4. 4. Validation
After applying the changes, verify that the UI test framework can initialize Firefox in both local and CI environments, including environments where {{geckodriver}} must be downloaded. Also check that existing browser-specific options and UI test behavior remain unchanged.
*Recommendation:* Use Selenium Manager as the default driver-resolution mechanism, while retaining explicit driver configuration for environments that require it. Before opening a PR, check the target branch because the current {{master}} branch already appears to contain this implementation.
This message was sent by Atlassian Jira (v9.3.0#930000-sha1:287aeb6)
If image attachments aren't displayed, see this article.