0

テストでキュウリとカピバラを使用しています

env.rb
Capybara.run_server = false
Capybara.default_driver = :selenium
World(Capybara::DSL)

私のテストでは、リンクをクリックしています

Then /^I see deals on map$/ do
  find("#dealmap").click
end

上記のアクションはレイヤー (div) を開いていますが、プロセスは find("#dealmap").click メソッドでスタックしています。5秒後、次のエラーが表示されます

 Timeout::Error (Timeout::Error)
      /usr/lib/ruby/1.9.1/net/protocol.rb:146:in `rescue in rbuf_fill'
      /usr/lib/ruby/1.9.1/net/protocol.rb:140:in `rbuf_fill'
      /usr/lib/ruby/1.9.1/net/protocol.rb:122:in `readuntil'
      /usr/lib/ruby/1.9.1/net/protocol.rb:132:in `readline'
      /usr/lib/ruby/1.9.1/net/http.rb:2562:in `read_status_line'
      /usr/lib/ruby/1.9.1/net/http.rb:2551:in `read_new'
      /usr/lib/ruby/1.9.1/net/http.rb:1319:in `block in transport_request'
      /usr/lib/ruby/1.9.1/net/http.rb:1316:in `catch'
      /usr/lib/ruby/1.9.1/net/http.rb:1316:in `transport_request'
      /usr/lib/ruby/1.9.1/net/http.rb:1293:in `request'
      /usr/lib/ruby/1.9.1/net/http.rb:1286:in `block in request'
      /usr/lib/ruby/1.9.1/net/http.rb:745:in `start'
      /usr/lib/ruby/1.9.1/net/http.rb:1284:in `request'
      ./features/frontend/step_definitions/search_results_page.rb:2:in `/^I see deals on map$/'
      features/frontend/search_results_page.feature:6:in `Then I see deals on map'

注:時間を増やしてみましたが、問題は解決していません

問題を解決できません。助言がありますか ?

4

1 に答える 1

0

問題はこの行にあると思います

Capybara.run_server = false

これは、ラック ベースのテストを実行している場合に必要になります。それを削除して、テストを再実行してください。

Web ベースのテストを実行している場合は、これをそこに残しておきたいと思うでしょう。Selenium を使用しているからといって、Web ベースのテストを実行しているとは限りません。まだラックベースのテストを実行していますが、ブラウザーで実行しています。

于 2012-12-18T20:50:40.473 に答える