0

Javascriptを使用してajax呼び出しを行うページをテストしようとしています。

コントローラのアクションが正しく呼び出されており、200がhtmlページに返送されていることがわかります。しかし、どういうわけか、javascriptでは、成功関数の代わりにエラー関数がトリガーされます... Javascriptは正常に機能していますが、サーバーからの応答を待たないようです...サーバーからの応答はに返送されますミリ秒の問題。

Railsでデータベースを使用していません。

コメントアウトしましたconfig.use_transactional_fixtures = true

そして私の構成では、以下を追加しました:

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

Capybara.javascript_driver = :chrome

最新のRailsバージョン、最新のCapybaraバージョン、最新のrspecバージョンを使用しています...

舞台裏で実際に何が起こっているのかわからないため、問題をデバッグするのは困難です。タイムアウトの問題と関係があると思いますが、よくわかりません。

ちなみに、私のJavaScriptは次のようになります。

$.ajax({
    type:'POST',
    dataType:'json',
    url:url,
    data:data,
    silent:true,
    loader:$("input#x, input#y").next(".loader"),
    success:function (response) {
        ...
    },
    error:function (jqXHR, textStatus, errorThrown) {
        redirectToLoginPage(jqXHR.status);
    }
});

誰かが私にAjax呼び出しをしているrspecとcapybaraの例を教えてもらえますか?

4

1 に答える 1

1

以下を変更する必要があります。

Capybara.javascript_driver = :chrome

使用可能なドライバーのいずれか: :rack_test、:selenium、:webkit、:webkit_debug

例えば:

Capybara.javascript_driver = :selenium
于 2012-12-07T18:56:14.167 に答える