MacでSeleniumを動かしてみました!

Seleniumとは

Seleniumとは、Webアプリケーションの画面操作を自動化するツールです。 クリックやキー入力、画面に表示された値の取得や画面キャプチャの取得など、ブラウザに対するさまざまな操作を自動で行うことができます。

                      引用:Selenium 実践入門

用意するもの

今回は Mac + Ruby + Chrome で動かすための用意になります!

  • Selenium WebDriver

  • 使用するブラウザのドライバ

  • 関連ライブラリ(capybara, rspec

1. Selenium WebDriverをインストール

Selenium WebDriverとは、プログラミング言語のコードからブラウザ操作が可能なライブラリです。 JavaRubyJavascriptなど各言語のライブラリとして提供されています。

                       引用:Selenium 実践入門

わたしは今回Rubyをつかうので、gemを利用してインストールします!

$ sudo gem install selenium-webdriver

このときRubyのバージョンが古いと、うまくいかないことがあるのでご注意ください!

バージョンを新しくする方法は下記記事を参考にさせていただきました。

gabekore.org

2. 使用するブラウザのドライバをインストール

WebDriverは利用するドライバクラスを差し替えることでさまざまなブラウザ上で実行することができます。

わたしはChromeをつかいたいので、Chromedriverをインストールしました!

brew install chromedriver

Chromeのほかにも

  • FirefoxDriver

  • InternetExplorerDriver

  • SafariDriver

などあり、それぞれセットアップ方法も違うようなので調べてみてください!

3. 関連ライブラリのインストール

capybara

Rubyスクリプトを記述するWebアプリケーションのE2Eテスト*1フレームワーク

ブラウザ操作(クリック・フォームコントロール・要素の取得など)を簡単なコマンドで行うことができるようになります!

sudo gem install capybara

Rspec

RubyでWebDriverと組み合わせて利用できるテストフレームワーク

sudo gem install rspec

以上で用意は完了となります!

いざ実行!

▼ test.rb

require 'capybara/rspec'

# seleniumでchoromeを使用する
Capybara.default_driver = :selenium
Capybara.register_driver :selenium do |app|
    Capybara::Selenium::Driver.new(app, :browser => :chrome)
  end

feature 'Cabybaraのサンプル' do
    scenario 'テストすること' do

        # Googleへアクセス
        visit 'https://www.google.co.jp/'
        
    end
end
$ rspec test.rb

Chromeが自動的に立ち上がり、Googleへアクセスしたら成功です!

ひとこと

Seleniumを先輩から教えていただいて、備忘録のためにもまとめようと思い書きはじめましたが書きおえるのに数日要しました・・

ブログを書くのって難しい、ほぼ引用のくせに。。

記法も調べながら書くので所要時間倍増です;;

参考にした書籍

Amazon.co.jp:Selenium実践入門:伊藤 望 (著), 戸田 広 (著), 沖田 邦夫 (著), 宮田 淳平 (著), 長谷川 淳 (著), 清水 直樹 (著), Vishal Banthia (著):本

 

*1:E2E(End to End)テスト:ユーザと同じようにブラウザを操作し、挙動が期待通りになっているか確認するテスト