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