【Ruby】Seleniumことはじめ
こんにちは、しきゆらです。
今回は、Webブラウザの自動テストツールであるSeleniumのセットアップとかんたんな使い方をメモしておきます。
タイトル通り、Rubyで操作します。
他言語での使い方は、以下の本がわかりやすいかと思います。
Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)
RubyでSeleniumを使うための準備
まずは、Seleniumを使うためのgemをインストールします
gem install selenium-webdriver
終わりです。
・・・ぇ?
本当に??
本当です。
Seleniumと言うのは、大きなツールの名前ではないようです。
実際には、WebDriverと言うものを介してブラウザを制御するようです。
先程インストールしたgemはRubyからWebDriverを操作するためのgemのようです。
ブラウザに対応したWebDriverの準備
各ブラウザに対応したWebDriverをダウンロードします。
- Firefox
- Chrome
- Edge
- IE
- Safari
- Macに標準で入っているようです。
- 使う場合は、メニューの「開発」から「リモートオートメーションを許可」にチェックを入れればOK
必要なものをダウンロードしたら、PATHが通っているところに置きましょう。
※適当においておくと面倒なので、私は「/usr/local/WebDriver」というディレクトリを作り、そこに置きました。
そして、「.bashrc」にパスを追加しました。
実際に動かしてみる
require 'selenium-webdriver' # firefox用のドライバを使う driver = Selenium::WebDriver.for :firefox # ブログへアクセス driver.navigate.to "http://preshikiyura.webcrow.jp/wordpress/" # トップページの記事一覧にある先頭記事のタイトルを取得する element = driver.find_element(:class, 'post-loop-content') puts element.text.split("\n").first # 終了 driver.quit
内容は、このブログにアクセスし、最新記事のタイトルを表示するものです。
selenium-webdriverのメソッド等はリファレンスに書いてあります。
Documentation for Selenium-Webdriver
また、他言語での使い方や詳しい解説はこちらの本がわかりやすいかと思います。