Cucumberはブラウザの自動化ツールではありませんが、次のブラウザの自動化ツールとうまく連携します。
WebDriverは、よりシンプルなものを提供するように設計されています。 、他のいくつかのツールよりも簡潔なプログラミングインターフェイス。 Selenium-WebDriverは、ページ自体が再ロードされることなくページの要素が変更される可能性がある動的Webページをより適切にサポートします。 WebDriverの目標は、最新の高度なWebアプリテストの問題に対するサポートを改善する、適切に設計されたオブジェクト指向APIを提供することです。
Selenium-WebDriverは、Java、JavaScript、Rubyなどの複数のプログラミング言語で使用できます。
Selenium-Webドライバーを例で変換することにより、UIテストでSelenium-WebDriverを使用したCucumberの例を見てみましょう。
例を次のように表すことができます。次のシナリオ:
SeleniumWebdriverの詳細
JVM用ブラウザー自動化ツール
SerenityBDDはより構造化され、より保守しやすい自動化された受け入れ基準を作成するのに役立つオープンソースのレポートライブラリ。 Serenityは、テスト結果だけでなく、テストされた機能も報告する、意味のある豊富なテストレポート(または「生きたドキュメント」)も作成します。
SerenityでCucumber-JVMを使用するための詳細なチュートリアルは、ここにあります。 Serenityの詳細については、公式Webサイトを参照してください。
SerenityBDDは、より構造化され、保守性の高い自動化された受け入れ基準を作成するのに役立つオープンソースのレポートライブラリです。Serenityは、豊富な意味のあるテストレポート(または「生きたドキュメント」も作成します」)テスト結果だけでなく、テストされた機能も報告します。
SerenityでのCucumber-JVMの使用に関する詳細なチュートリアルはここにあり、Serenityの詳細については公式Webサイトを参照してください。 。
セレニティはJVM言語でのみ機能します。セレニティはJVM言語でのみ機能します。
Ruby用ブラウザ自動化ツール
Watir(水と発音)は、オープンソース(BSD)のファミリです。 Webブラウザを自動化するためのRubyライブラリのs。これにより、読み取りと保守が容易なテストを作成できます。簡単で柔軟性があります。
Watirは人々と同じようにブラウザを駆動します。リンクをクリックし、フォームに入力し、ボタンを押します。 Watirは、期待されるテキストがページに表示されるかどうかなどの結果もチェックします。
WatirはRubyライブラリのファミリーですが、開発されたテクノロジーに関係なくアプリケーションをサポートします。WatirはInternetExplorerのみをサポートします。ウィンドウズ; Watir-WebDriverは、単一のブラウザーテストを解決し、Chrome、Firefox、Internet Explorer、Operaをサポートし、ヘッドレスモード(HTMLUnit)でも実行します。
次に、Watirを使用したサンプルUIテストプログラムにジャンプします。
ここで、このテストにCucumberを組み込みましょう:
Watirの詳細
WatirはRubyでのみ機能します。Watirはのみ機能します。 Ruby.WatirはRubyでのみ機能します。
Capybara
Cucumber-Railsは、Capybara(script/generate cucumber --capybara
)を使用したビュー統合テストをサポートするように事前構成されています。
特に指示がない限り、Cucumber-RailsインストールジェネレーターはCapybaraに必要なサポートファイルをセットアップします。
Capybaraはcucumber-railsのHTMLビューの推奨テスト方法ですが、そうではありません。 Railsの組み込みのMiniTest/Test::Unit
でうまく機能します。特に、カピバラがキュウリの世界に必要とされるときはいつでも、のresponse.body
メソッドは削除されます。 CapybaraはNokogiriに依存しており、NokogiriはCSSタグではなくXMLを使用することを好みます。この動作は./features/support/env.rb
で上書きできます。
Capybaraの詳細
CapybaraはRubyでのみ機能します。CapybaraはRubyでのみ機能します。CapybaraはRubyでのみ機能します。
失敗時のスクリーンショット
シナリオが失敗したときにスクリーンショットを撮ると、何が悪かったのかを理解するのに役立つ場合があります。失敗時にスクリーンショットを撮るには、アフターフックを構成できます。
以下は、失敗したシナリオのWebDriverでスクリーンショットを撮り、それらをCucumberのレポートに埋め込む方法の例です。
以下は、WebDriverforでスクリーンショットを撮る方法の例です。失敗したシナリオをCucumberのレポートに埋め込みます。
以下は、失敗したシナリオのWebDriverでスクリーンショットを撮り、Cucumberのレポートに埋め込む方法の例です。
以下は、失敗したシナリオのCapybaraでスクリーンショットを撮り、Cucumberのレポートに埋め込む方法の例です。
複数のブラウザ
Cucumberは、実行時に読み込まれる構成プロパティに基づいて、さまざまなブラウザでシナリオを実行できます。
次に、Cucumberを実行するときにbrowser
プロパティを定義します:
Serenityを使用している場合は、driver
システムプロパティを渡します(追加のコーディングは必要ありません):
Serenityを使用している場合は、driver
システムプロパティを渡します(追加のコーディングは必要ありません):