Selenium Chromedriver启动隐藏和版本兼容性

时间:2016-06-23 07:36:30

标签: google-chrome selenium selenium-webdriver selenium-chromedriver

我正在尝试在Chrome浏览器上执行Selenium测试用例。当我在Chrome上运行测试用例时,Chrome浏览器会打开(在后台)并且测试用例正在按预期运行。问题是,在运行测试用例时,Chrome浏览器不会显示为活动窗口,下面是我在控制台中收到的文本:



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>
&#13;
&#13;
&#13;

相同的测试用例在Firefox(43.0)上正常运行。 如果我做错了或者我必须更改我正在使用的版本,请告诉我。在此先感谢!!

1 个答案:

答案 0 :(得分:1)

让我们直截了当:

  1. 如果您想检查chromedriver和Chrome的兼容性,可以在最新的chromedriver的notes中阅读。
  2. 您不需要selenium-server之间的兼容性,因为您不使用它,您使用的是本地chromedriver,它与Chrome版本更相关,而不是与Selenium jar相关
  3. 您发布的控制台输出很好,它是启动chromedriver的预期日志。
      

    启动ChromeDriver 2.22 ...

  4. 您在评论中添加的内容的另一种解决方案(-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