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講座の内容をもとに紹介しています。
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
今回は、Rubyに関する内容だね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
どういう内容でしょうか?
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
Selenium WebDriverの使い方について詳しく説明していくね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
お願いします!
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"
実際に書いてみよう
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エンジニア 過去の開発実績・業務内容: 趣味など |
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
内容分かりやすくて良かったです!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20163020-2-400x400-e1517449291396.png)
ゆかりちゃんも分からないことがあったら質問してね!
![](https://techacademy-magazine-cdn.techacademy.jp/magazine/wp-content/uploads/2018/02/20160620-400x400-e1517449269611.png)
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。