web-dev-qa-db-ja.com

失敗したキュウリの手順で見つかったカピバラを確認するにはどうすればよいですか?

キュウリ+ webratからキュウリ+カピバラへの移行を開始しました。さて、「見るべき」の振る舞いは少し違うようです。ページの何も変更していませんが、これらのほとんどは今は失敗します。見つかるはずのスニペットをすべてのページにあるものに置き換えました。一部のテキストでは機能し、他のテキストでは機能しません。ページのコンテンツにあるパターンとそうでないパターンにパターンが見つかりません。 Webratは、必要なフレーズが含まれていない場合に備えて、ページコンテンツの内容を印刷していました。とにかくカピバラにテキストを見つけようとしたページから取得したテキストを表示させる方法はありますか?

44
ajmurmann

このステップを追加してみてください:

Then show me the page
32
marcgg

Then show me the pageは、webrat/capybaraの基礎となるsave_and_open_pageメソッドを呼び出します。ステーキを扱うときにそれが役立つことがわかりました。

40
sent-hil

ページが失敗したときにブラウザにページを開かせたい場合は、「launchy」gemを使用します。それをgemファイルに追加し、/ features/supportにdebugging.rbという名前のファイルを作成し、次の内容を含めます。

After do |scenario|
   save_and_open_page if scenario.failed?
end
24
jacklin

ページでJavascriptまたはAjaxを使用していて、何が起こっているのかを確認したい場合、私はPoltergeistドライバーがDOMにアクセスして何が問題になっているのかを調べるのに非常に優れていることを発見しました。

Capybaraドライバーをリモートデバッグオプションでセットアップした場合:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, inspector: true)
end

その後、ステップに次の行を追加できます。

page.driver.debug 

これにより、現在のDOM状態が設定された新しいChromiumブラウザーが起動し、コンソールが表示されます。 (私のバージョンのLinuxでは、クロムをクロムブラウザーにシンボリックリンクする必要がありましたが、それ以外は問題なく動作しました)。

ソース情報: http://jonathanleighton.com/articles/2012/poltergeist-0-6-0/

9
Dan Garland

Then show me the responsecucumber 1.1。では機能しませんでした。capybaraのコマンドを使用してステップを記述すると便利です。

print page.html

DOMの現在の状態を出力します

8
joscas

ブラウザを使用しない場合は、「Then show me the response」を使用して、HTMLをコンソールに出力することもできます。

7
kinet

何かが失敗したときに、常にスクリーンショットを撮ることができます。失敗する機能の多くをその方法でデバッグします。

0
Whitney Imura