Selenium Chromedriver 开启隐藏及版本兼容
Selenium Chromedriver Starts Hidden and Version Compatibility
我正在尝试在 Chrome 浏览器上执行 Selenium 测试用例。当我 运行 Chrome 上的测试用例时,Chrome 浏览器打开(在后台)并且测试用例如预期的那样 运行。问题是,虽然 运行 测试用例,Chrome 浏览器并未显示为活动 window,下面是我在控制台中获得的文本:
Starting ChromeDriver 2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a) on port 28568
Only local connections are allowed.
使用的版本:
Chrome浏览器:51.0.2704.103,
ChromeDriver: 2.22,
Selenium 独立服务器:2.53.0,
IDE:Mac
上的 IntelliJ
下面是我用于 chrome 浏览器的代码:
case "Chrome": {
System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver");
driver = new ChromeDriver();
driver.manage().window().maximize();
break;
}
以下是POM.xml详情:
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.53.0</version>
</dependency>
</dependencies>
相同的测试用例在 Firefox (43.0) 上运行良好。
如果我做错了什么或者我是否必须更改我正在使用的版本,请告诉我。提前致谢!!
让我们把一些事情弄清楚:
- 如果您想检查您的 chromedriver 和 Chrome 的兼容性,您可以在最新的 chromedriver notes 中阅读。
- 您不需要 selenium-server 之间的兼容性,因为您没有使用它,您使用的是本地 chromedriver,它与 Chrome 版本而不是 Selenium jar 更相关。
- 您发布的控制台输出很好,它是启动 chromedriver 的预期日志。
Starting ChromeDriver 2.22...
您在评论 (-Dwindow.hide=false
) 中添加的内容的另一种解决方案可能是在 chromedriver 的 DesiredCapabilities 中使用 属性 或 ChromeOptions:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);
您可以使用这些选项much more。
我正在尝试在 Chrome 浏览器上执行 Selenium 测试用例。当我 运行 Chrome 上的测试用例时,Chrome 浏览器打开(在后台)并且测试用例如预期的那样 运行。问题是,虽然 运行 测试用例,Chrome 浏览器并未显示为活动 window,下面是我在控制台中获得的文本:
Starting ChromeDriver 2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a) on port 28568
Only local connections are allowed.
使用的版本: Chrome浏览器:51.0.2704.103, ChromeDriver: 2.22, Selenium 独立服务器:2.53.0, IDE:Mac
上的 IntelliJ下面是我用于 chrome 浏览器的代码:
case "Chrome": {
System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver");
driver = new ChromeDriver();
driver.manage().window().maximize();
break;
}
以下是POM.xml详情:
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>2.53.0</version>
</dependency>
</dependencies>
相同的测试用例在 Firefox (43.0) 上运行良好。 如果我做错了什么或者我是否必须更改我正在使用的版本,请告诉我。提前致谢!!
让我们把一些事情弄清楚:
- 如果您想检查您的 chromedriver 和 Chrome 的兼容性,您可以在最新的 chromedriver notes 中阅读。
- 您不需要 selenium-server 之间的兼容性,因为您没有使用它,您使用的是本地 chromedriver,它与 Chrome 版本而不是 Selenium jar 更相关。
- 您发布的控制台输出很好,它是启动 chromedriver 的预期日志。
Starting ChromeDriver 2.22...
您在评论 (-Dwindow.hide=false
) 中添加的内容的另一种解决方案可能是在 chromedriver 的 DesiredCapabilities 中使用 属性 或 ChromeOptions:
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
WebDriver driver = new ChromeDriver(capabilities);
您可以使用这些选项much more。