2016-02-25 13 views
11

Abbiamo framework di test di automazione UI basato su cetriolo. Recentemente siamo passati da Ruby 1.9.x alla 2.2.0 e successivamente ci troviamo di fronte a problemi di accesso alla nostra applicazione tramite framework di test. Dice che il problema di reset della connessione SSL.SSL_connect (Errno :: ECONNRESET)

Errore Traccia:

07:01:26 An existing connection was forcibly closed by the remote host. - SSL_connect (Errno::ECONNRESET) 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:46:in `connect' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:46:in `ssl_connect' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/ssl_socket.rb:24:in `create_socket' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:739:in `block in connect' 
07:01:26 D:/Ruby223/lib/ruby/2.2.0/timeout.rb:88:in `block in timeout' 
07:01:26 D:/Ruby223/lib/ruby/2.2.0/timeout.rb:98:in `call' 
07:01:26 D:/Ruby223/lib/ruby/2.2.0/timeout.rb:98:in `timeout' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:735:in `connect' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:497:in `query' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient/session.rb:170:in `query' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:1238:in `do_get_block' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:1021:in `block in do_request' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:1129:in `protect_keep_alive_disconnected' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:1016:in `do_request' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:858:in `request' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/httpclient-2.7.1/lib/httpclient.rb:761:in `post' 
<-- our Code for login kick in to call httpclient ---> 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/rb_support/rb_language.rb:96:in `load' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/rb_support/rb_language.rb:96:in `load_code_file' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime/support_code.rb:142:in `load_file' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime/support_code.rb:84:in `block in load_files!' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime/support_code.rb:83:in `each' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime/support_code.rb:83:in `load_files!' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime.rb:254:in `load_step_definitions' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/runtime.rb:62:in `run!' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/lib/cucumber/cli/main.rb:32:in `execute!' 
07:01:26 D:/Ruby223/lib/ruby/gems/2.2.0/gems/cucumber-2.3.2/bin/cucumber:8:in `<top (required)>' 
+0

hai risolto questo? Avendo lo stesso problema ... Ho una suite di test usando Ruby 1.9.3 e rest-client che sta avendo lo stesso problema. Corriamo contro una webapp C# su IIS. –

risposta

-1

Penso che il vostro gioiello è updated.Add queste righe nel codice per risolvere il problema

http.verify_mode = OpenSSL::SSL::VERIFY_NONE 

prima http.use_ssl = true

Spero che questo potrebbe risolvere il problema.

+3

Disabilitare la verifica SSL è una pessima idea. Non dovresti usarlo nei sistemi di produzione. – smefju

+0

Sto bene con quello per testare una webapp inhouse. Quasi. Preferisco verificare il peer con un certificato. –

0

Ho avuto lo stesso problema un po 'indietro dopo essersi trasferito a rubino 2.0.0

Seguire i seguenti passaggi per risolverlo

1) Visita l'url http://curl.haxx.se/ca/cacert.pem salvare il contenuto come file .pem (Do non salvarlo come un testo File.Make che l'estensione sia .pem)

2) Copiare il file in qualsiasi percorso nel locale ad esempio: C: \ ruby200 \ ca_cert.pem (nel mio caso)

3) Ora aggiungi una variabile di ambiente con variabile SSL_CERT_FILE e valore "C: \ ruby200 \ ca_cert.pem" (senza virgolette) (il percorso è nel mio caso.Riposizionare con il percorso appropriato) (Le variabili di ambiente possono essere aggiunte navigando in Computer -> Impostazioni avanzate -> Variabili d'ambiente)

4) Chiudi tutti i tuoi prompt di comando e riavviali. Le cose dovrebbero funzionare bene ora

Problemi correlati