AJAXリクエストの進行中に送信ボタンを無効にするリモートフォームがあります。ボタンをクリックを強調すると、他のAJAXリクエストが実行されないことを確認したいと思います。統合テストでこれを確認するにはどうすればよいですか?
2 に答える
4
jqueryでアクティブなajax呼び出しを確認できます
$.active
統合テストにカピバラを使用する場合
page.evaluate_script('$.active').should be <= 1
解決策かもしれません。
呼び出しがいつ発生するかはおそらくわからないので、ヘルパー関数がトリックを実行する可能性があります
def test_until(seconds=5)
start_time = Time.now
while (Time.now - start_time) <= seconds do
yield
sleep 0.05
end
end
このように呼ぶことができます
test_until do
page.evaluate_script('$.active').should be <= 1
end
したがって、アクティブなajax呼び出しが複数ある場合は、5秒間テストします。
于 2013-01-03T17:00:53.460 に答える
1
グローバル変数または静的変数を保持します。Ajaxによって呼び出される関数内で変数をインクリメントし、変数の値がどうなるかを確認します。1を超えてはならず、Ajax呼び出しが1回だけ行われることが保証されます。
自動テストを使用している場合は、アクティブなajax呼び出しの数やその他のものを確認するための詳細情報が提供されます。
http://hedleyproctor.com/2012/07/effective-selenium-testing/
お役に立てれば。ありがとうございました。
于 2013-01-03T17:24:55.277 に答える