icon
icon

Selenium WebDriverでRubyのテストを行う方法【初心者向け】

初心者向けにRubyでSelenium WebDriverを使う方法について解説しています。Selenium WebDriverの導入と実際のテストの方法まで解説します。ぜひ使い方を覚えておきましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

RubyでSelenium WebDriverを使う方法について解説します。

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Selenium WebDriverの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

Selenium WebDriverとは

Selenium WebDriverとは、プログラミングを介して、ブラウザを操作するライブラリです。

例えば、毎日特定のWEBページをスクレイピングしたい、特定の操作を行いたいなど、手動ではなく、プログラムが自動で実行できるようにすることが出来ます。

 

Selenium WebDriverの使い方

Selenium WebDriverを使う際は、GEMをインストールする必要があります。

以下のコマンドを実行する事で、インストールが完了します。

gem install selenium-webdriver

selenium-webdriverを使用するに際して、ブラウザのバイナリ(本体)、ドライバが必要となります。

ドライバは以下のURLより取得できます。
https://sites.google.com/a/chromium.org/chromedriver/downloads

Gemとバイナリ、ドライバ、サーバのインストールが完了したら以下のように実行できるようになります。

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.get "http://google.com"

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

Googleへアクセスし、検索窓に文字列を入力し検索を実行、その後、スクリーンショットを取得する、という内容を行います。

ソースコード

require 'selenium-webdriver'

session = Selenium::WebDriver.for :chrome
session.manage.timeouts.implicit_wait = 600
session.navigate.to "https://google.com/"

# ターミナルへページタイトルを出力
puts session.title

# googleの入力フォームを指定
query = session.find_element(:id, 'lst-ib')
# フォームへの入力内容
query.send_keys('techacademy')

# 入力内容を実行
query.submit

# スクリーンショットを取得
session.save_screenshot('page.png')

# ブラウザを終了
session.quit

WEBアプリケーションの作成時にテストが必要となりますが、

実際に入力してテスト、というのを手動で行うと、時間がかかってしまうので、このように自動化できると効率化ができそうです。

 

監修してくれたメンター

中廣 誠

職種: WEBエンジニア

過去の開発実績・業務内容:
一部上場企業にて、WEBアプリケーションの受託開発、自社WEBサービス開発、自社ゲーム開発に従事
現在はフリーで活動し、ECサイト開発/運営、課題を解決するためのシステムコンサルタントなどを実施

趣味など
フリーでの活動を期に沖縄へ移住したので、海でのスキンダイビング、釣りなどを趣味にしています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。