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.
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.
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.
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.
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.