5分でできる!Seleniumでブラウザテスト自動化入門

  • このエントリーをはてなブックマークに追加
  • Pocket

こんにちは。サーバサイドエンジニア兼QAエンジニアの斉藤(@saik1010)です。

弊社QAチームでも取り組みを始めた、Seleniumを使用したブラウザテスト自動化について、
環境構築〜簡単なプログラムを実行するまでをご紹介しようと思います!

動作環境

環境 バージョン
macOS Sierra 10.12.6
Ruby 2.4.2
rbenv 1.1.1
RSpec 3.7.0
Capybara 2.16.0
Selenium Webdriver 3.60
ChromeDriver 2.35

もくじ

  1. 概要
  2. 構築手順
  3. プログラム作成〜実行
  4. まとめ

概要

今回は、手元のMacにSelenium+Ruby+Capybaraをインストールして、
手軽でシンプルなブラウザテストの環境を構築していきます。

弊社のメイン言語はPHP/Goを採用しておりますが、両言語ともSeleniumで公式サポートされていないため、将来的な運用保守を考慮して、Rubyを採用しました。

また、RubyにはCapybaraという強力なサードパーティ製のラッパーがあり、かなりシンプル(※1)にSeleniumのコードを書くことができることも1つの大きな選定要因になっています。
※1 個人的な感覚ですが、ピュアなJavaScriptがjQueryで書けるようになるぐらいの関係性に近い

構築手順

では早速、環境構築をしていきましょう!

HomeBrewのインストール

インストールにはHomeBrewを使用すると簡単に環境構築を行うことができます。
※既にインストール済みの場合はスキップしてください

Rubyのインストール

そのまま、最新版のRubyを入れてしまっても良いのですが、
複数バージョンを管理することも想定して、rbenvを利用し、Rubyをインストールします。

まずはrbenvからインストールをしていきましょう!

続けてrbenvを利用して、Rubyをインストールします!

Seleniumのインストール

Rubygemsを使用して、Seleniumをインストールします!

今回は、自動テスト対象としてChromeを利用するため、WebDriverはChromeDriverのみをインストールしていますが、IEやFirefoxなどでも専用のWebDriverをインストールすることで、動作させることが可能です。
※対象のブラウザは、こちらをご確認ください!

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

続けてCapybaraRSpecをインストールします!
こちらもRubygemsで簡単に入れることができます。

プログラム作成〜実行

それではインストールしたSelenium+Ruby+Capybaraを利用して、簡単なサンプルプログラムを実装してみましょう!Seleniumの公式サイトで、サンプルサイトが提供されているので、そちらをアクセスして入力フォームの自動テストを実装していきます!

実際に実装したプログラムを実行してみます!Chromeが自動で立ち上がり、テストが実行されればOKです!

まとめ

いかがでしたでしょうか?「5分で」はちょっと盛りすぎましたが・・・(笑)
シンプルかつ、少ないコード量でブラウザテストの自動化が実現できました!他にもスクリーンショットを撮るなど、Seleniumには多くの機能が提供されているので、弊社では回帰テストなどに利用していこうと考えています。

本番運用に向けては、テストサーバへの環境構築やヘッドレスブラウザの利用など、まだまだ課題はありますが、ひとまず運用に乗せてから検証を進めてみようと思います。
また後日、こちらのブログで検証結果を報告させて頂きますので、続編に乞うご期待ください!

Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにきてください。

ブライダル業界のデジタルシフトを加速させるリードエンジニア候補募集!

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。