私は1つの入力ボックスと、ユーザがテキストボックスに何かを記入するまで、送信ボタンが無効になっている送信ボタンを持つフォームを持っています。Capybara - 無効になっている初期化されている間にjavascriptによって有効にされたボタンをクリックする方法?
不都合なことに、スクリーンショット 'form.png'をチェックすると、既に値を入力しても送信ボタンが無効になります。
スペック:
scenario 'valid', js: true do
fill_in 'Name', with: 'Hello World'
page.save_screenshot('form.png')
end
コーヒー/ JS:
$('#name').keyup ->
if $('#name').val() != ''
$('#submit').removeClass('disabled').removeAttr('disabled')
else
$('#submit').addClass('disabled').attr('disabled', 'disabled')
HAML/HTML:入力テキスト・フィールドに入力したときに
= f.input :name, label: 'Name'
= f.submit 'Save', class: 'btn btn-primary form-btn', id: 'submit', disabled: true
を行うことができるはず。これをどのように追跡できますか? –
@PirunSengまず、あなたのポラテジストの設定(https://github.com/teampoltergeist/poltergeist#customization)で 'js_errors'を有効にしてから、多くのエラーを捕捉してください。それを超えると、あなたがJSファイルに 'let'や' const'を使用していないことを確認します。残念ながら、ファイルは無視されます。もしあなたがそうであれば、Poltergeist/PhantomJSを使うためには書き換えやトランシルル化とポリフィルが必要です –
私は既にjs_errorsオプションを持っていました。 JSファイルの中に 'let'と' const'のどちらも持っていません。しかし、私の** form-builder.min.js **にこの行 '// https:// people.mozilla.org /〜jorendorff/es6-draft.html#sec-generatorresume'が見つかりました**しかし、私はそれを信じていますコメントされています。あなたは私が呼び出されると予想されるJSファイルにエラーコードを作成しようとしたときに、いくつかのファイルが無視されるかもしれないと言っているかもしれませんし、仕様を実行したときに構文エラーは発生しませんでした。 –