【问题标题】:Selemium ChromeDriver returns unknown error: unable to discover open pagesSelenium ChromeDriver 返回未知错误:无法发现打开的页面
【发布时间】:2016-07-05 05:14:57
【问题描述】:

我已经创建了一个maven项目,里面的测试包添加了一个testNg测试用例:

public class SampleTestNGTest {    
    private WebDriver driver;       
        @Test               
        public void testEasy() {
                    System.setProperty("webdriver.chrome.driver","D:\\NetBeansProjects\\webdrivertestng\\Drivers\\chromedriver.exe");
                    driver = new ChromeDriver();
            driver.get("example.com");  
            String title = driver.getTitle();
                        Assert.assertTrue(title.contains("abcd")); 
                        //System.out.println("checking new build");
        }   

        @AfterTest
        public void afterTest() {
            driver.quit();          
        }                
}

我在 Netbeans 中完美地执行了它,没有任何错误。但是当我从 Jenkins 执行时(将 Maven 项目与 Jenkins 集成),它显示以下错误:

Running SampleTestNGTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@6d8acf
Starting ChromeDriver 2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf) on port 2916
Only local connections are allowed.
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 64.572 sec <<< FAILURE!
testEasy(SampleTestNGTest)  Time elapsed: 63.571 sec  <<< FAILURE!
org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages
  (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 6.1 SP1 x86) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 61.32 seconds
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host: 'MVSL1742', ip: '172.16.17.42', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_05'
Driver info: org.openqa.selenium.chrome.ChromeDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:116)
    at SampleTestNGTest.testEasy(SampleTestNGTest.java:24)

afterTest(SampleTestNGTest)  Time elapsed: 63.573 sec  <<< FAILURE!
java.lang.NullPointerException
    at SampleTestNGTest.afterTest(SampleTestNGTest.java:37)


Results :

Failed tests:   testEasy(SampleTestNGTest): unknown error: unable to discover open pages(..)
  afterTest(SampleTestNGTest)

Tests run: 2, Failures: 2, Errors: 0, Skipped: 0
  1. 如果我使用 FirefoxDriver,构建执行时不会出错。

  2. 如果我使用 ChromeDriver,构建会出错。

pom .xml

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>2.53.0</version>
</dependency>

编辑:在我的本地机器上,ChromeDriver 版本是 2.9

【问题讨论】:

    标签: java maven selenium jenkins


    【解决方案1】:

    您使用的是非常旧的 ChromeDriver 版本。

    从您的错误日志来看,它似乎是:2.14,而最后一个版本是 2.9!

    here 下载更新版本,然后重试。还要确保您没有使用最新的 Chrome 浏览器版本,因为 Selenium 支持总是滞后。例如,目前最新的 ChromeDriver 2.9 仅支持 Chrome 浏览器版本 31-34。你可以看到它here

    【讨论】:

    • @Prabu 你的 Chrome 浏览器本身呢?确保您没有使用最新版本,因为 Selenium 支持版本滞后。确保您使用的是受支持的 Chrome 版本。 ChromeDriver 2.9 的最后支持版本是 Chrome v31-34。
    • 感谢我的 Chrome 浏览器 51.0 版,但它如何在 netbeans 中成功运行
    • @Prabu 我仍然建议仅使用受支持的 Chrome 版本。即使它现在开始,您也可能(并且会)遇到不可预知的行为。
    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 2021-10-08
    • 2016-12-09
    • 2014-01-26
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多