テストを実行すると、物理的に検索入力フィールドをクリックしない限り、オートコンプリートドロップダウンメニューが表示されません。AJAXがCucumber/Capybara/Seleniumでオートコンプリートを実行する
これはSelenium Webdriverを使用したキュウリ試験で、結果はCrafty Clicks Address Autocomplete APIから得られます。
def fill_in_autocomplete(selector, value)
page.execute_script("
window.onload = function() {
$('#{selector}').focus().val('#{value}').keydown();
}
")
end
fill_in_autocomplete "#address_lookup", with: "EC2A 1AF"
は私も同じよう、より具体的なKeyDownイベントベースのソリューションを試してみた:
私はこのような何かを見てすべてがいくつかの他の記事/情報源から同じ溶液の多数のバージョンを試してみました
var e = jQuery.Event("keydown");
e.which = 50;
$("input").trigger(e);
私もテストを一時停止し、コンソールで手動で各ソリューションをテストしましたが、もう一度機能しません。
私はjQuery UIを使用していないので、.autocomplete()
のソリューションは関係ありません。
私はまた、タイミングの周りの問題を考慮に入れて、プロセス全体を通してsleep
を使用しました。
私はアイデアがありません!