Capybara API: ブラウザテストのための強力なツール


  1. インストールとセットアップ: まず、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
  1. ページの操作とナビゲーション: Capybaraを使用して、ブラウザでページを操作し、ナビゲートすることができます。以下にいくつかの例を示します。
visit('/login')  # 特定のURLにアクセスする
fill_in('Username', with: 'example_user')  # フォームの入力
click_button('Login')  # ボタンをクリックする
page.has_content?('Welcome')  # 特定のテキストが表示されているか確認する
  1. ページ要素の検証: Capybaraは、要素の存在や属性、テキストなどを検証するための便利なメソッドを提供しています。
expect(page).to have_selector('#my_element')  # 特定のCSSセレクタにマッチする要素が存在するか確認する
expect(page).to have_text('Hello, World!')  # 特定のテキストが表示されているか確認する
expect(page).to have_link('Click Here')  # 特定のリンクが存在するか確認する
  1. ブラウザの操作: Capybaraを使用して、ブラウザのウィンドウサイズの変更やスクリーンショットの取得など、ブラウザに関連する操作も行うことができます。
page.current_window.resize_to(800, 600)  # ウィンドウサイズを変更する
page.save_screenshot('screenshot.png')  # スクリーンショットを保存する

これらはCapybaraの一部ですが、その他にも多くの機能があります。Capybaraを使用することで、ブラウザテストを効率化し、信頼性の高いWebアプリケーションを構築することができます。

この記事では詳細なコード例を提供できませんが、公式ドキュメントやオンラインのチュートリアルなどを参考にすると、さらに多くの情報を見つけることができます。