我已经尝试了Stackoverflow主题中告诉我的一切。我通过jenkins在远程从机上运行java selenium测试。荒谬的是,第一个测试总是运行,浏览器打开,所有其他测试都给我“等待驱动服务器启动超时”。
public WebDriver startChrome() {
System.setProperty("java.net.preferIPv4Stack", "true");
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
chromeOptions.addArguments("--no-sandbox");
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("--aggressive-cache-discard");
chromeOptions.addArguments("--disable-cache");
chromeOptions.addArguments("--disable-application-cache");
chromeOptions.addArguments("--disable-offline-load-stale-cache");
chromeOptions.addArguments("--disk-cache-size=0");
chromeOptions.addArguments("--dns-prefetch-disable");
chromeOptions.addArguments("--no-proxy-server");
chromeOptions.addArguments("--log-level=3");
chromeOptions.addArguments("--silent");
chromeOptions.addArguments("--disable-browser-side-navigation");
chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL);
chromeOptions.addArguments("-disable-cache");
chromeOptions.addArguments("-disable-extensions");
chromeOptions.addArguments("--incognito");
chromeOptions.addArguments("start-maximized");
//chromeOptions.setExperimentalOption("useAutomationExtension", false);
ChromeDriverService chromeDriverService = ChromeDriverService.createDefaultService();
port = chromeDriverService.getUrl().getPort();
return new ChromeDriver(chromeDriverService, chromeOptions);
}
错误:
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '4.0.0-alpha-7', revision: 'de8579b6d5'
System info: host: 'ISTDTSTYNMD04V', ip: '10.52.253.54', os.name: 'Windows Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_271'
Driver info: driver.version: unknown
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:231)
at org.openqa.selenium.remote.service.DriverService.lambda$start$0(DriverService.java:193)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1596)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:35592/status] to be available after 20000 ms
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:90)
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:227)
... 7 more
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:88)
... 8 more
到目前为止我尝试过的所有解决方案:
当我试图通过代码驱动程序创建函数catch块中的JavaURLConnection访问url和端口时,它会重置连接,但在chrome中会重置200。
所有的帮助将不胜感激。
顺致敬意,
此错误消息。。。
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '4.0.0-alpha-7', revision: 'de8579b6d5'
System info: host: 'ISTDTSTYNMD04V', ip: '10.52.253.54', os.name: 'Windows Server 2016', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_271'
Driver info: driver.version: unknown
…表示ChromeDriver无法启动/生成新的浏览上下文,即Chrome浏览器会话。
关于您的用例的更多信息将有助于我们更好地分析错误。但是,首先,您只能使用一个参数start maximized
,并删除所有其他可以启动的参数。因此,您的有效代码块将是:
public WebDriver startChrome() {
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("start-maximized");
ChromeDriverService chromeDriverService = ChromeDriverService.createDefaultService();
return new ChromeDriver(chromeDriverService, chromeOptions);
}
确保:
@Test
。tearDown(){}
方法中调用driver.quit()
以关闭您可以在以下内容中找到一些相关的详细讨论:
无法启动边缘驱动程序,我得到下面提到的错误和代码,我使用的是下面。请帮忙
最近升级到Selenium 3.7,但出现错误。 错误跟踪日志: 调试1调试2在端口2198上启动ChromeDriver 2.33.506106(8A06C39C4582FBFBAB6966DBB1C38A9173BFB1A2)仅允许本地连接。线程“main”org.openqa.selenium.WebDriverException中出现异常:等待驱动程序服务器启动时超时。构建信息:版本:“3
问题内容: public class Dem { public static void main(String[] args) throws InterruptedException { WebDriver driver; String url = "https://www.google.com”; System.setProperty(“webdriver.chrome.driver”,”C:\
Selenium webdriver和Chrome driver是最新版本 Selenium webdriver:3.14.0 ChromeDriver:2.42 Java:1.8.0_181 这是运行代码后的错误。谷歌chrome根本没有推出。 严重:org.apache.commons.exec.executeException:进程退出,但出现错误:-1073741792(退出值:-1073
当我试图通过chrome执行量角器测试时,我面临着“无法启动网络驱动程序会话”。在尝试了以下所有选项后,我在这里发布解决方案: 使用最新和早期版本的chrome浏览器和驱动程序触发运行 手动将selenium/chromedriver放置在WebManager中 3.添加的chromeOptions:{binary:“/Applications/Google Chrome.app/Contents
问题内容: 我正在使用Ubuntu 16.04 问题答案: 我遇到了这个问题,终于找到了答案。我一直在使用Marionette驱动程序,该驱动程序不再适用于FF版本53和Selenium 3.5或更高版本。该GeckoDriver文档显示系统属性应该如何引用。 我从以下位置更改了代码: 至: 现在我的本地Firefox运行正常。 希望这对其他人有帮助。