SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「日本Seleniumユーザーコミュニティ」のエキスパートが教えるSelenium最新事情

DockerでSelenium Gridを構築して複数マシンのブラウザ自動テストを行う


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

 Webアプリケーションは複数のブラウザに対応させる必要がありますが、その際、多種多様なブラウザを一括で管理することができ、一つのテストスクリプトからクロスブラウザテスティングを行うことのできるSelenium Gridが便利です。第4回の今回はコンテナ管理ツールのDockerを利用してSelenium Gridを構築する方法を解説します。後半では、筆者が現在注目しているZaleniumを使ったSelenium Grid構築について紹介します。

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

illustration by iwasawa
illustration by iwasawa

Selenium Gridとは

 Seleniumには、複数のマシンで分散してブラウザ操作の自動化を実現するSelenium Gridという仕組みがあります。Selenium Gridを利用すると、Google ChromeやFirefoxやMicrosoft Edge等の多種多様なブラウザを一括で管理することができ、一つのテストスクリプトからクロスブラウザテスティングを行うことができます。

 Selenium Gridは、ハブという管理サーバに、テストに必要なブラウザを持つノードが接続する構成をとります。これにより、テスト条件に合うノードが自動的に選択され、利用できるようになっています。

 ハブには複数のノードが接続できますので、CI環境のように並列的にブラウザを動作させる必要がある環境でよく利用されています。

Selenium Grid
Selenium Grid

Dockerを使ってSelenium Gridを構築する

 『Selenium実践入門』でもCI環境でのSelenium Gridの利用方法について書かれていますが、その当時に比べて、Dockerを代表とするコンテナ管理技術が一般的になってきました。

 Seleniumは動作させるブラウザ以外にも必要なソフトウェアが多く、コンテナ技術とは相性がよいので、Dockerを使うことでSelenium Grid環境の管理コストを削減することができます。

 公式のSeleniumHQがメンテナンスしているDockerイメージがあるので、そちらを使ってSelenium Gridをまずは紹介します。

 なお、本記事では基本的なDockerのインストールやdockerコマンドの説明は行いません。Dockerの使い方については、英語になりますが公式チュートリアルなどをご参照ください。

 また、2017年10月9日現在、以下の環境で動作確認を行っております。

  • OS X El Capitan 10.11.6
  • Docker for Mac 17.09.0-ce-mac35
  • Ruby 2.4.1p111
  • selenium-webdriver 3.6.0

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Selenium Gridの構築

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
「日本Seleniumユーザーコミュニティ」のエキスパートが教えるSelenium最新事情連載記事一覧

もっと読む

この記事の著者

沖田 邦夫(オキタ クニオ)

 精密機器メーカーにて新規事業開発のAPI・インフラ・システムアーキテクチャの設計・開発・テストを一通り経験後にDeNAに入社。 現在はテストエンジニアリングを担う部署であるSWET(Software Engineer in Test)グループのリーダー。 「Selenium実践入門」の共同執筆、雑誌「Web+DB PRESS」への寄稿も行っている。 Twitter:@okitan github:https://github.com/okitan

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10471 2017/12/19 14:57

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング