2013-06-03 23 views
11

tôi bắt đầu chạy vào tấn của các lỗi này ngày hôm nay:Net :: ReadTimeout trên không đầu cukes Firefox watir-WebDriver

Net::ReadTimeout (Net::ReadTimeout) 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:152:in `rbuf_fill' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:144:in `readline' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_line' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1405:in `block in transport_request' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `catch' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `transport_request' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1375:in `request' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1368:in `block in request' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:851:in `start' 
     /usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1366:in `request' 

Tôi đang chạy không đầu (thông qua viên ngọc không đầu) cukes watir-WebDriver trên Firefox 21 , Máy chủ Ubuntu. Đây là nhóm đá quý đang hoạt động:

Gems included by the bundle: 
    * builder (3.2.2) 
    * bundler (1.3.5) 
    * childprocess (0.3.9) 
    * cucumber (1.3.2) 
    * cwtestgen (0.1.6) 
    * data_magic (0.14) 
    * diff-lcs (1.2.4) 
    * faker (1.1.2) 
    * ffi (1.8.1) 
    * gherkin (2.12.0) 
    * headless (1.0.1) 
    * i18n (0.6.4) 
    * multi_json (1.7.5) 
    * page-object (0.8.10) 
    * page_navigation (0.9) 
    * require_all (1.2.1) 
    * rspec (2.13.0) 
    * rspec-core (2.13.1) 
    * rspec-expectations (2.13.0) 
    * rspec-mocks (2.13.1) 
    * rubyzip (0.9.9) 
    * selenium-webdriver (2.33.0) 
    * syntax (1.0.0) 
    * thor (0.18.1) 
    * watir-webdriver (0.6.4) 
    * watir-webdriver-performance (0.2.2) 
    * websocket (1.0.7) 
    * yml_reader (0.2) 

Tôi thậm chí không biết bắt đầu giải quyết vấn đề này ở đâu. Thời gian chờ là ngẫu nhiên. Chúng không xảy ra khi tôi chạy các thử nghiệm này trên Firefox 21 trên OS X (không phải không đầu). Có ai đã từng trải nghiệm điều này trước đây không? BẤT CỨ và TẤT CẢ ý tưởng được đánh giá cao - cảm ơn bạn!

+3

Tôi chưa bao giờ tìm ra nguyên nhân của vấn đề này, nhưng cuối cùng nó đã biến mất. Tôi đã không nhìn thấy lỗi này trong hơn một vài ngày nay. Lần sau tôi thấy nó, tôi sẽ làm việc với sysadmin của chúng tôi để cố gắng suss nó ra và, nếu chúng ta tìm thấy gốc của vấn đề, tôi sẽ cập nhật thread này. –

+0

Xin chào, bạn đã tìm thấy bất kỳ lý do nào cho điều này chưa? Tôi đang chạy vào cùng một vấn đề. – user1120134

+0

Tôi đã gặp vấn đề này trước đây. Đối với vấn đề của tôi đó là một vấn đề thời gian chờ. Tôi đã gặp sự cố kết nối với ISP của mình. Sau khi sửa chữa từ ISP của tôi, họ đã biến mất. Tôi đoán có tĩnh trên đường dây. – Duck1337

Trả lời

0

Tôi đã thấy điều này trên máy tính của người khác, và dành một chút thời gian chẩn đoán nó.

Trong đó tình hình cụ thể, vấn đề dường như là một muddle với cán bộ quản lý phiên bản Ruby, có nghĩa là một số đá quý biên soạn cho một phiên bản cũ của Ruby đã được vớt lên.

Chúng tôi gió thổi bay mất gemsets của họ, cài đặt lại các viên ngọc, và tất cả bắt đầu làm việc đáng tin cậy nữa.

Đây có thể không phải là vấn đề của bạn ở đây, nhưng đáng chú ý đối với người khác. Quản lý phiên bản Ruby là getting easier nowadays, nhưng nó vẫn còn quá dễ dàng để có được những thứ vào một muddle.

1

Tôi đã gặp sự cố này. Tôi không biết tại sao nó lại xảy ra nhưng tôi đã tìm ra một giải pháp cho nó. Tôi vừa chấm dứt trình duyệt watir và không đầu, sau đó tôi thử lại. Vấn đề là watir đã mất kết nối với trình duyệt để nó không thể bị chấm dứt. Tôi nghĩ nó là một phần của vấn đề ban đầu. Để chấm dứt trình duyệt watir, tôi kết xuất đối tượng trình duyệt bằng YAML rồi phân tích kết quả để tìm pid của trình duyệt được mô phỏng. Sau khi thực hiện xong lệnh kill được gửi tới pid bên phải. Cuối cùng trình duyệt và không đầu được reinitialized.

tryLeft = 3 
begin 
    @watir.goto url 
rescue => error 
    tryLeft -= 1 

    if tryLeft >= 0 
    sleep 1 
    retry 
    end 

    begin 
    Timeout::timeout(2) { @watir.close } 
    rescue 
    File.open(@tmpDumpFile, 'w') { |file| file << YAML::dump(@watir) } 
    `awk '/pid:/ {print $2;}' "#{@tmpDumpFile}" | xargs -rt kill 2>&1` 
    FileUtils.rm_f(@tmpDumpFile) 
    end 

    @headless.stop 
    `killall Xvfb 2>&1` 

    # Reinitialize @watir/@headless then retry 
end 
Các vấn đề liên quan