【问题标题】:javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake Supportjavax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接支持
【发布时间】:2017-06-25 13:13:50
【问题描述】:

我正在尝试使用 appium (ver.1.5.3) 在 mac 中自动化 android 应用程序。我得到以下提到的错误。请帮忙。

WebDriverException:javax.net.ssl.SSLHandshakeException:远程主机 握手期间关闭连接构建信息:版本:'未知', 修订:'1969d75',时间:'2016-10-18 09:43:45 -0700' 系统信息: 主机:'AKASHs-MacBook-Pro.local',ip:'192.168.1.4',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.11.6',java.version: '1.8.0_121' 驱动程序信息:driver.version:AndroidDriver at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:84) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 在 io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) 在 io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 在 io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:241) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:128) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:141) 在 io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) 在 io.appium.java_client.AppiumDriver.(AppiumDriver.java:90) 在 io.appium.java_client.AppiumDriver.(AppiumDriver.java:128) 在 io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:72) 在 com.test1.Test1.setUp(Test1.java:33) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104) 在 org.testng.internal.Invoker.invokeMethod(Invoker.java:645) 在 org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851) 在 org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177) 在 org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) 在 org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) 在 org.testng.TestRunner.privateRun(TestRunner.java:756) 在 org.testng.TestRunner.run(TestRunner.java:610) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:387) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:340) 在 org.testng.SuiteRunner.run(SuiteRunner.java:289) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1293) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1218) 在 org.testng.TestNG.runSuites(TestNG.java:1133) 在 org.testng.TestNG.run(TestNG.java:1104) 在 org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) 在 org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) 在 org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81) 原因: javax.net.ssl.SSLHandshakeException:远程主机关闭连接 在握手期间 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992) 在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) 在 org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394) 在 org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) 在 org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141) 在 org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) 在 org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) 在 org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) 在 org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) 在 org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:142) 在 org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:88) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:108) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:64) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:141) 在 io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:69) ... 37 更多原因:java.io.EOFException: SSL peer 关闭 在 sun.security.ssl.InputRecord.read(InputRecord.java:505) 处不正确 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) ... 58 更多

【问题讨论】:

  • 任何帮助将不胜感激

标签: java macos selenium-webdriver appium appium-ios


【解决方案1】:

检查您正在使用的 URL,它不应包含 https,而应使用 http。我试过它对我有用。

【讨论】:

  • 我尝试使用 HTTP 并且它有效。感谢大家的帮助
【解决方案2】:

它与 java 本身无关。检查您的证书 ' OpenSSL s_client -connect 443'

确保验证码为0 如果它不为零;(20)它可能意味着(我在这里猜)你可能有一个自签名证书。这意味着您必须将该证书导入您的 java 信任库。

【讨论】:

    猜你喜欢
    • 2012-08-12
    • 2018-07-29
    • 2014-12-23
    • 2016-05-27
    • 1970-01-01
    • 2017-03-03
    • 2018-09-27
    相关资源
    最近更新 更多