尝试使用WebDriverManager初始化Chrome远程Web驱动程序,同时使用Java传递ChromeOptions和Selenium Grid独立服务器URL。来自在线示例;传递Chrome选项如下所示:
WebDriverManager.chromedriver().setup();
RemoteWebDriver remoteWebDriver = new ChromeDriver(options);
threadLocalDriver.set(remoteWebDriver);
传递selenium网格独立服务器的集线器URL如下所示:
WebDriverManager.chromedriver().setup();
RemoteWebDriver remoteWebDriver = ((RemoteWebDriver) WebDriverManager
.chromedriver()
.remoteAddress(hubURL)
.create());
threadLocalDriver.set(remoteWebDriver);
如何将两者都传递给RemoteWebDriver对象?
谢啦
编辑:
这是我的代码。我得到一个错误从create()方法[main]错误io. github.bonigarcia.wdm.WebDriverManager-有一个错误创建WebDriver对象为Chromeio.github.bonigarcia.wdm.config.WebDriverManagerException:超时30秒创建WebDriver对象
public void createDriver()抛出IOException{
ChromeOptions options = getPlatformSpecificOptions();
logger.info("Driver options: " + options.toString());
String hubURL = "http://127.0.0.1:4444/wd/hub";
WebDriver driver = WebDriverManager.chromedriver()
.capabilities(options)
.remoteAddress(hubURL)
.create();
threadLocalDriver.set(((RemoteWebDriver) driver));
}
TestHelper.setPlatform(PLATFORM);
}
您需要为此使用方法能力():
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
WebDriver driver = WebDriverManager.chromedriver()
.capabilities(options)
.remoteAddress(hubURL)
.create();
也不需要调用settings(),因为它是由create()方法调用的。