python api automation openssl robotframework

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