- インストールとセットアップ:
まず、GemfileにCapybaraを追加し、
bundle install
コマンドを実行して依存関係を解決します。次に、テストスイートのセットアップファイルでCapybaraを設定します。
require 'capybara'
require 'capybara/dsl'
Capybara.run_server = false
Capybara.app_host = 'https://example.com'
class MyTest
include Capybara::DSL
# ...
end
Capybara.default_driver = :selenium
Capybara.javascript_driver = :selenium
- ページの操作とナビゲーション: Capybaraを使用して、ブラウザでページを操作し、ナビゲートすることができます。以下にいくつかの例を示します。
visit('/login') # 特定のURLにアクセスする
fill_in('Username', with: 'example_user') # フォームの入力
click_button('Login') # ボタンをクリックする
page.has_content?('Welcome') # 特定のテキストが表示されているか確認する
- ページ要素の検証: Capybaraは、要素の存在や属性、テキストなどを検証するための便利なメソッドを提供しています。
expect(page).to have_selector('#my_element') # 特定のCSSセレクタにマッチする要素が存在するか確認する
expect(page).to have_text('Hello, World!') # 特定のテキストが表示されているか確認する
expect(page).to have_link('Click Here') # 特定のリンクが存在するか確認する
- ブラウザの操作: Capybaraを使用して、ブラウザのウィンドウサイズの変更やスクリーンショットの取得など、ブラウザに関連する操作も行うことができます。
page.current_window.resize_to(800, 600) # ウィンドウサイズを変更する
page.save_screenshot('screenshot.png') # スクリーンショットを保存する
これらはCapybaraの一部ですが、その他にも多くの機能があります。Capybaraを使用することで、ブラウザテストを効率化し、信頼性の高いWebアプリケーションを構築することができます。
この記事では詳細なコード例を提供できませんが、公式ドキュメントやオンラインのチュートリアルなどを参考にすると、さらに多くの情報を見つけることができます。