python - Los scripts de prueba de Robot Framework fallan con SSLError
api automation (2)
Estás al día, por lo que hay dos posibilidades:
- El apretón de manos no avanza sin problemas debido a una interrupción en la cadena de confianza. Comienza desde abajo y trabaja. ¿Estás probando esto en una red de área local? ¿El certificado está actualizado? ¿Puede acceder al sitio desde su ubicación y otros sin un error? ¿Los laboratorios SSL muestran algo? ¿Qué pasa con las reglas de Firewall?
- Hay un error en la actualización reciente. Los informes de OpenSSL en mi experiencia son causados por problemas de conexión en lugar de problemas de software oscuros; esta es la menos probable de las dos.
He escrito scripts de prueba de framework de robot en formato .tsv
para probar servicios web / API. Todo funcionaba bien hasta hoy (probablemente debido a las nuevas actualizaciones del framework de robots) cuando empecé a recibir el siguiente error:
SSLError: ("mal apretón de manos: SysCallError (-1, ''EOF inesperado'')",)
Este error sigue apareciendo para el siguiente código en script de prueba:
${headers}= Create Dictionary Content-Type application/json Accept application/json
RequestsKeywords.Get Request httpbin ${url} headers=${headers} //ERROR SHOWS FOR THIS STATEMENT
Obtuve un rastreo detallado para este error que es el siguiente:
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)
La configuración de mi sistema:
Mac OSX (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)
¿Alguna sugerencia sobre cómo resolver este problema?
Intenta instalar solicitudes [seguridad] en lugar de solicitudes. Utiliza PyOpenSSL, que es mejor que OpenSSL: https://.com/a/31812342/2419215