在jenkins中收到此错误org.openqa.selenium.WebDriverException:未知错误:无法发现打开的页面

时间:2016-08-03 13:09:52

标签: selenium-webdriver pom.xml selenium-chromedriver headless jenkins-cli

我正在尝试使用pom.xml在jenkins(@localhost)中运行selenium脚本,但面临问题w.r.t chrome驱动程序。 Chrome版本52.0 Selenium-server 2.53.0 下面是完整的堆栈跟踪:

=============================================== =================

测试运行:7,失败:1,错误:0,跳过:6,经过时间:63.654秒<<<失败! - 在TestSuite中 init(com.arrk.pages.AppleTest)经过的时间:63.416秒<<<失败! org.openqa.selenium.WebDriverException:未知错误:无法发现打开的页面

=============================================== ======================   (驱动程序信息:chromedriver = 2.9.248315,platform = Windows NT 6.1 SP1 x86_64)(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:60.92秒 构建信息:版本:' 2.53.0',修订版:' 35ae25b1534ae328c771e0856c93e187490ca824',时间:' 2016-03-15 10:43:46' 系统信息:主持人:' akshayk',ip:' 10.0.2.58',os.name:' Windows 7',os.arch:' amd64',os.version:' 6.1',java.version:' 1.8.0_45'

=============================================== ========================

驱动程序信息: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:422)     在org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)     在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)     在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)     在org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)     在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:131)     在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:144)     在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:170)     在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:159)     在org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:116)     在com.arrk.webdriver.WebDriverFactory.getInstance(WebDriverFactory.java:125)     在com.arrk.webdriver.WebDriverFactory.getInstance(WebDriverFactory.java:64)     在com.arrk.pages.TestBase.init(TestBase.java:145)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:497)     at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)     在org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:510)     在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:211)     在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)     at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170)     at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)     在org.testng.TestRunner.privateRun(TestRunner.java:774)     在org.testng.TestRunner.run(TestRunner.java:624)     在org.testng.SuiteRunner.runTest(SuiteRunner.java:359)     在org.testng.SuiteRunner.run顺序(SuiteRunner.java:354)     在org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)     在org.testng.SuiteRunner.run(SuiteRunner.java:261)     在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)     在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)     at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)     在org.testng.TestNG.runSuitesLocally(TestNG.java:1140)     在org.testng.TestNG.run(TestNG.java:1048)     在org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:217)     在org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:84)     在org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:92)     在org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)     在org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)     在org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

尝试了解决此问题的所有可能解决方案。如果有更多解决方案,那么请告诉我。

1 个答案:

答案 0 :(得分:0)

这与Chrome 51-53上的错误报告类似: org.openqa.selenium.remote.server.DriverServlet - Exception: unknown error: unable to discover open pages

该错误链接到Chrome主要错误"Fails to navigate to URL when Chrome 51 is launched in session 0 / through CI".启动作为Windows服务安装的Jenkins从服务器使用会话0。

Chrome 51中的第0会话中的Chrome已经运行。短期解决方法包括退回Chrome 50(如果可以找到),或使用Chrome选项“no-sandbox”运行,如下所示:< / p>

ChromeOptions chromeOptions = new ChromeOptions(); 
chromeOptions.AddArguments("test-type"); 
chromeOptions.AddArguments("no-sandbox"); 
PropertiesCollection.driver = new ChromeDriver(chromeOptions);

Chrome 54中预计会有一个修复程序,但是错误响应表明他们没有计划对会话0的长期支持。如果有人知道如何从Windows上的会话0之外的其他东西知道如何启动Jenkins从属设备的话