In jenkins getting this error org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages
In jenkins getting this error org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages
我正在尝试使用 pom.xml 运行 jenkins(@localhost) 中的 selenium 脚本,但面临问题 w.r.t chrome driver。
Chrome 版本 52.0
Selenium-server 2.53.0
以下是完整的堆栈跟踪:
============================================= ===================
测试 运行:7,失败:1,错误:0,跳过:6,经过的时间:63.654 秒 <<< 失败! - 在测试套件中
init(com.arrk.pages.AppleTest) 已用时间:63.416 秒 <<< 失败!
org.openqa.selenium.WebDriverException:未知错误:无法发现打开的页面
============================================= ========================
(Driver 信息:chromedriver=2.9.248315,平台=Windows NT 6.1 SP1 x86_64)(警告:服务器未提供任何堆栈跟踪信息)
命令持续时间或超时:60.92 秒
构建信息:版本:'2.53.0',修订:'35ae25b1534ae328c771e0856c93e187490ca824',时间:'2016-03-15 10:43:46'
系统信息:host: 'akshayk', ip: '10.0.2.58', os.name: 'Windows 7', os.arch: 'amd64', os.version: ' 6.1', java.version: '1.8.0_45'
============================================= ==========================
Driver 信息:org.openqa.selenium.chrome.ChromeDriver
在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
在 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)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:497)
在 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)
在 org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170)
在 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.runSequentially(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)
在 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)
针对此问题尝试了所有可能的解决方案。如果还有更多解决方案,请告诉我。
这看起来类似于 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 从会话 0 中断 Chrome 51。短期解决方法包括回落到 Chrome 50(如果你能找到它),或 运行 Chrome 选项 "no-sandbox",像这样:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("test-type");
chromeOptions.AddArguments("no-sandbox");
PropertiesCollection.driver = new ChromeDriver(chromeOptions);
预计会在 Chrome 54 中进行修复,但是错误响应表示他们不打算为会话 0 提供长期支持。如果有人知道如何从某个东西启动 Jenkins 从站,我会洗耳恭听Windows.
上的会话 0 除外
我正在尝试使用 pom.xml 运行 jenkins(@localhost) 中的 selenium 脚本,但面临问题 w.r.t chrome driver。 Chrome 版本 52.0 Selenium-server 2.53.0 以下是完整的堆栈跟踪:
============================================= ===================
测试 运行:7,失败:1,错误:0,跳过:6,经过的时间:63.654 秒 <<< 失败! - 在测试套件中 init(com.arrk.pages.AppleTest) 已用时间:63.416 秒 <<< 失败! org.openqa.selenium.WebDriverException:未知错误:无法发现打开的页面
============================================= ======================== (Driver 信息:chromedriver=2.9.248315,平台=Windows NT 6.1 SP1 x86_64)(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:60.92 秒 构建信息:版本:'2.53.0',修订:'35ae25b1534ae328c771e0856c93e187490ca824',时间:'2016-03-15 10:43:46' 系统信息:host: 'akshayk', ip: '10.0.2.58', os.name: 'Windows 7', os.arch: 'amd64', os.version: ' 6.1', java.version: '1.8.0_45'
============================================= ==========================
Driver 信息:org.openqa.selenium.chrome.ChromeDriver 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 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) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:497) 在 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) 在 org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170) 在 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.runSequentially(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) 在 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)
针对此问题尝试了所有可能的解决方案。如果还有更多解决方案,请告诉我。
这看起来类似于 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 从会话 0 中断 Chrome 51。短期解决方法包括回落到 Chrome 50(如果你能找到它),或 运行 Chrome 选项 "no-sandbox",像这样:
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("test-type");
chromeOptions.AddArguments("no-sandbox");
PropertiesCollection.driver = new ChromeDriver(chromeOptions);
预计会在 Chrome 54 中进行修复,但是错误响应表示他们不打算为会话 0 提供长期支持。如果有人知道如何从某个东西启动 Jenkins 从站,我会洗耳恭听Windows.
上的会话 0 除外