python - Robot Framework 测试脚本因 SSLError 而失败

标签 python api automation openssl robotframework

我已经编写了 .tsv 格式的 Robot Framework 测试脚本来测试网络服务/API。一切正常,直到今天(可能是因为 Robot Framework 的新更新)我开始收到以下错误:

SSLError: ("bad handshake: 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

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

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)

我的系统配置:

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)

我该如何解决这个问题?

最佳答案

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

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

关于python - Robot Framework 测试脚本因 SSLError 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726648/

相关文章:

ios - 无法从 Dark Sky API 获取数据

java - Jsoup 未返回 HTML 页面中的所有 div

python - Flask-MongoEngine & PyMongo 聚合查询

python将函数传递给类

python - Django Rest框架和Redis

ruby-on-rails - Rails 渲染带有驼峰命名法的 json 对象

api - Azure API 管理 OAuth 2.0 资源所有者密码流客户端 ID

java - 查找所需的 jar 时出现问题 Google Drive V3 与 Java 集成

android - .isDisplayed - Selenium + Appium

python - 如何在任意位置插入元素到列表中?