Robot Framework测试脚本因SSLError而失败

Gir*_*tur 12 python api automation openssl robotframework

我编写了Robot Framework测试脚本,.tsv用于测试Web服务/ API.当我开始收到以下错误时,一切都运行良好,直到今天(可能是因为Robot Framework的新更新):

SSLError :("握手不好:SysCallError(-1,'Unexpected EOF')",)

此错误不断弹出测试脚本中的以下代码:

${headers}=  Create Dictionary Content-Type application/json  Accept application/json
RequestsKeywords.Get Request httpbin ${url} headers=${headers} //ERROR SHOWS FOR THIS STATEMENT
Run Code Online (Sandbox Code Playgroud)

我确实得到了这个错误的详细回溯,如下所示:

Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/RequestsLibrary/RequestsKeywords.py", line 298, in get_request
    session, uri, params, headers, redir, timeout)
  File "/Library/Python/2.7/site-packages/RequestsLibrary/RequestsKeywords.py", line 801, in _get_request
    cookies=self.cookies)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Python/2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Python/2.7/site-packages/requests/adapters.py", line 447, in send
    raise SSLError(e, request=request)
Run Code Online (Sandbox Code Playgroud)

我的系统配置:

Mac OS X (10.11.3)
Python (2.7.10)
openssl (1.0.2f)
requests (2.9.1)
robotframework (3.0)
robotframework-httplibrary (0.4.2)
robotframework-requests (0.4.4)
robotframework-ride (1.5.2.1)
robotframework-sshlibrary (2.1.2)
pyOpenSSL (0.15.1)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

L M*_*tin 3

您都是最新的,所以有两种可能性:

  • 由于信任链断裂,握手过程并不顺利。从底部开始,向上进行。您正在局域网上测试这个吗?证书是最新的吗?您可以从您所在的位置和其他人访问该网站而不会出现错误吗?SSL 实验室显示了什么?防火墙规则怎么样?
  • 最近的更新中有一个错误。根据我的经验,OpenSSL 报告是由连接问题而不是模糊的软件问题引起的 - 这是两者中可能性较小的一个。