RubyでSeleniumWebDriverを使う

普段Javaを使ってSeleniumでの自動テストを書いているので、たまには違う言語でもと思い、Rubyでやってみました。

RubyでSeleniumを使う

一旦の目標として、ただこのブログのURLを開いて閉じるだけのプログラムを書くことしました。

Rubyではユニットテストフレームワークが複数あるのですが、『Seleniumデザインパターン & ベストプラクティス』を見ながら進めたので、Test::Unitを選択。(今回のサンプルではアサート入れてません)

準備

まずはGemfileにselenium-webdriverを追加。

source "https://rubygems.org"
gem "selenium-webdriver"

そして、ターミナルから

$bundle install

これでWebDriverを使う準備ができました。

次に、Chromeを動かすためにChromeDriverをダウンロードします。

Downloads – ChromeDriver – WebDriver for Chrome

私の趣味として、ChromeDriverはプロジェクト内にフォルダを切って置いておきたいので、下の画像の箇所に配置。

WebDriverTrial RubymineProjects untitled cheese finder tests rb WebDriverTrial

コードを書く

あとはコードを書いていきます。

require 'test/unit'
require 'selenium-webdriver'
require 'rubygems'

class CheeseFinderTests < Test::Unit::TestCase

  def test_find_some_cheese
    # chromedriverの場所を指定する
    Selenium::WebDriver::Chrome.driver_path ="/Users/yoshikiito/RubymineProjects/untitled/drivers/chrome/2.41/chromedriver" #.exeはつけない

    # ブラウザ指定
    driver = Selenium::WebDriver.for(:chrome)

    # 指定のURLを開く
    driver.get("http://yoshikiito.net/blog")

    # ブラウザを閉じる
    driver.quit
  end

end

※test_find_some_cheeseなのは本のサンプルをベースに書き始めたからで、今回の操作内容とは無関係です。。

あとは、お使いのIDEでテスト用クラスで右クリックして、実行してあげましょう。

WebDriverTrial RubymineProjects untitled cheese finder tests rb WebDriverTrial

これで、Ruby+SeleniumWebDriverでブラウザ操作をする最初の一歩ができました。

ここからRubyでの遊びスタートします。

この記事を書いた人

yoshikiito

都内でテストエンジニア&ブロガーをやっている@yoshikiitoです。

ソフトウェアエンジニアの学習方法や成長するための考え方、会社に依存せず自分の力で生きていけるエンジニアになる方法などについて興味があります。
こういった方法や考え方、自分が試したことなどをブログを通じて発信します。

仕事は主にソフトウェアテストやテスト自動化。
趣味は浦和レッズと読書と技術書を買って積むこと。

技術評論社から本を出すのが夢

この記事が気に入ったら
いいね!しよう

最新の情報をお届けします