0
javascript関数を実行するにはどうすればいいですかこのrspecテストではaddRows()を実行しますか?この機能はテストでは実行されません。Rails 4、Seleniumはイベントでjavascriptを実行します
私のRSpecのテスト
context 'pressing alt+m, ' do
it 'appends hello to the dom', :js => true do
visit welcome_path
page.execute_script("return addRows(keypressdown = 17, keypressdown = 77);")
expect(page).to have_content("hello")
end
end
keypressListener.jsが
function addRows(event) {
event = event || window.event;
if(event.keyCode == 17 && event.keyCode == 77) {
document.body.append("hello");
}
}
がレールServerを実行して手動でこのページにALT + Mを押すと、ファイルはAddRowsを()関数を実行しますが、テストはしていません関数を実行します。
「要素がページ上の単一の要素を表している」という私の提案では、variable = page.find 'body'を使用して、variable.send_keys [:alt、 'm']を呼び出してテストをパスしました。ありがとうございました!!!! – wsgb
優秀!あなたの経験から私の答えに情報を加えました。 –