-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
Closed
Labels
C-javaJava BindingsJava BindingsI-defectSomething is not working as intendedSomething is not working as intended
Description
What happened?
I'm using the getBinaryPaths(List<String>) function of SeleniumManager to acquire the path of driver binaries. The current implementation assumes that the list provided by the client is mutable. If an immutable list is specified, the function fails with UnsupportedOperationException.
How can we reproduce the issue?
public static File findDriver(String browserName) {
SeleniumManager manager = SeleniumManager.getInstance();
Result result = manager.getBinaryPaths(Arrays.asList("--browser", browserName));
return new File(result.getDriverPath());
}The call to getBinaryPaths() throws UnsupportedOperationException, because the current implementation of this function attempts to add its own arguments to the list provided by the client.
Relevant log output
java.lang.UnsupportedOperationException
at java.base/java.util.AbstractList.add(AbstractList.java:153)
at java.base/java.util.AbstractList.add(AbstractList.java:111)
at org.openqa.selenium.manager.SeleniumManager.getBinaryPaths(SeleniumManager.java:235)
at com.nordstrom.automation.selenium.utility.BinaryFinder.findDriver(BinaryFinder.java:26)
at com.nordstrom.automation.selenium.plugins.ChromeCaps.getPropertyNames(ChromeCaps.java:63)
at com.nordstrom.automation.selenium.plugins.ChromePlugin.getPropertyNames(ChromePlugin.java:57)
at com.nordstrom.automation.selenium.plugins.RemoteWebDriverPlugin.create(RemoteWebDriverPlugin.java:49)
at com.nordstrom.automation.selenium.DriverPlugin.create(DriverPlugin.java:91)
at com.nordstrom.automation.selenium.core.LocalSeleniumGrid.create(LocalSeleniumGrid.java:144)
at com.nordstrom.automation.selenium.core.SeleniumGrid.create(SeleniumGrid.java:174)
at com.nordstrom.automation.selenium.AbstractSeleniumConfig.getSeleniumGrid(AbstractSeleniumConfig.java:630)
at com.nordstrom.automation.selenium.AbstractSeleniumConfig.getCurrentCapabilities(AbstractSeleniumConfig.java:761)
at com.nordstrom.automation.selenium.platform.TargetType.matches(TargetType.java:51)
at com.nordstrom.automation.selenium.platform.TargetPlatformHandler.shouldRun(TargetPlatformHandler.java:46)
at com.nordstrom.automation.selenium.listeners.PlatformInterceptor.intercept(PlatformInterceptor.java:45)
at org.testng.TestRunner.intercept(TestRunner.java:821)
at org.testng.TestRunner.privateRun(TestRunner.java:740)
at org.testng.TestRunner.run(TestRunner.java:603)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:429)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:423)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:383)
at org.testng.SuiteRunner.run(SuiteRunner.java:326)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1249)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.runSuites(TestNG.java:1092)
at org.testng.TestNG.run(TestNG.java:1060)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
### Operating System
Windows 10, but this is not an OS-specific issue
### Selenium version
Java 4.21.0
### What are the browser(s) and version(s) where you see this issue?
Chrome for Testing 123.0.6312.86 (Official Build) (64-bit)
### What are the browser driver(s) and version(s) where you see this issue?
ChromeDriver
### Are you using Selenium Grid?
4.21.0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-javaJava BindingsJava BindingsI-defectSomething is not working as intendedSomething is not working as intended