1

我想在Chrome浏览器上执行Selenium测试用例。当我在Chrome上运行测试用例时,Chrome浏览器打开(在后台),测试用例按预期运行。问题是,在运行测试的情况下,Chrome浏览器不会显示为活动窗口,以下是我在控制台中得到了文本:使用Selenium Chromedriver启动隐藏和版本兼容

Starting ChromeDriver 2.22.397929 (fb72fb249a903a0b1041ea71eb4c8b3fa0d9be5a) on port 28568 
 
Only local connections are allowed.

版本: Chrome浏览器:51.0.2704.103, ChromeDriver:2.22, 硒独立服务器:2.53.0, IDE:的IntelliJ在Mac

下面是我使用了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)工作的罚款。 请让我知道如果我做错了什么或者如果我不得不改变我使用的版本。提前致谢!!

+1

如果你使用'new ChromeDriver()',那么你不使用硒独立服务器来运行你的测试。 – Mobrockers

+0

我认为,而不是说硒独立服务器,我应该说硒webdriver ...纠正我,如果我错了。如果硒驱动器可以帮助我理解发生了什么问题。 – ankit

+0

@ankit我不明白这个问题。它打开浏览器并且测试按预期运行。你期望什么也发生了呢? – RemcoW

回答

1

让我们有些东西直:

  1. 如果要检查你的chromedriver和Chrome浏览器的兼容性,您可以在最新chromedriver的notes阅读。
  2. 因为您不使用硒服务器,所以您不需要兼容性,您使用的是本地chromedriver,它与Chrome版本更多相关,而不是Selenium jar。
  3. 您发布的控制台输出就好,它是启动chromedriver的预期日志。

    开始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