は、私は問題なくカピバラで埋めることができ、適切なラベルとフィールドを持っています。カピバラを使用してフォームフィールドが正しくプレフィックスされていることを確認するにはどうすればよいですか?私はそれを充填する前に、それが持っている値をチェックしたいのですが、それを把握することはできません</p> <pre><code>fill_in 'Your name', with: 'John' </code></pre> <p>:
私はfill_in
後に次の行を追加する場合:私は、ページを保存することにより検証してきたように充填したばかりの前に働いていたものの、
find_field('Your name').should have_content('John')
そのテストが失敗したが。
私には何が欠けていますか?
expect(page).to have_xpath("//input[@value='John']")
は、詳細はhttp://www.w3schools.com/xpath/xpath_syntax.aspを参照してください:
ああ、私は '.value'ビットが欠けていました。これを行うには、「フィルタブロック」を使用することが可能です。ありがとう! –
私は同じ問題を抱えていましたが、フォームフィールドではなくdivを使用していました。同じ問題を抱える人は、find_field()。valueではなくfind_by_id()。textを使用してください。フォームフィールドでしか働かない価値があることを私に見せてくれました... –
後者の問題は、Capybaraのポーリングサイクルを使用しないため、フィールドが長時間実行されるJSコードで設定されていると即座に失敗することです。静的に生成されたフォームでこれを試していない限り、最初の方法が優先されます。 – fqxp