我们在org.openqa.selenium.chrome中提供了ChromeDriverService类… 我知道这将有助于在机器的任何端口启动镀铬驱动程序,代码如下… ChromeDriverService src = new ChromeDriverService.Builder().usingDriverExecuta
我知道这将有助于在机器的任何端口启动镀铬驱动程序,代码如下…
ChromeDriverService src = new ChromeDriverService.Builder().usingDriverExecutable(new File("Location of chromedriver.executable")).usingAnyFreePort().build(); src.start();
但不确定这对我们自动化有何帮助,在哪种情况下可以使用…
如果我们想要使用具有DesiredCapability和Chrome的RemoteWebDriver启动Chrome浏览器,那么我们需要开始独立运行selenium服务器…上面的ChromeDriverService在那里没用.
请介绍一下ChromeDriverService
ChromeDriverService的目的是管理ChromeDriver服务器的持久实例.标准做法是使用ChromeDriver类或Selenium独立服务器来获取Chrome驱动程序实例,但这种做法会牺牲性能以方便使用.在这种情况下,每个驱动程序实例都与其自己的ChromeDriver服务器实例相关联,该实例在请求驱动程序时启动,在驱动程序退出时终止.此实例服务器管理在运行时和资源利用率方面增加了测试执行的开销.
使用ChromeDriverService,通过使测试框架在测试套件启动时启动服务器实例并在套件完成时将其关闭,可以将此开销降至最低.可以在ChromeDriver Getting started页面的控制ChromeDriver的生命周期标题下找到此方法的示例.