SHOEISHA iD

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

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

WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium 2」入門

「Selenium2」テスト徹底活用! Jenkinsによる自動実行とSelenium Grid2による複数環境でのテスト

WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium2」入門 第3回

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

8. さまざまなブラウザでテストする

 これまで作成したSelenium2のテストでは、1つの環境を対象にしたテストについて説明してきましたが、せっかく作成した自動テストなのでさまざまな環境で実行したいと思います。効率良く複数のOS、バージョン違いのブラウザのテストなどを実施するにはどうすれば良いでしょうか。次はさまざまな環境でテストできる仕組み「Selenium Grid2」について説明します。

8.1. Selenium Grid2とは

 Selenium2では、多様な実行環境でテストを実施するためのSelenium Grid2という仕組みが用意されています。

 Selenium Grid2の利用価値があるのは下記のケースです。

  • 複数の環境でテストしたい
  • テスト実行時間短縮のため並列実行したい

 Selenium Grid2では2つの役割が存在します。Selenium2のテストを実行するためのNodeとそのNodeを取りまとめるHubです。

 テスト環境となるマシンをNodeとして登録することにより、複数のマシン環境でのテストを可能にしています。

8.2. マシン構成・実行環境

 筆者が用意した環境は次のとおりです。

  Selenium Grid2の役割 テスト対象のブラウザ
Mac Hub  
Node1 FireFox、Safari
Windows Node2 Chrome、Internet Explorer

 Jenkinsの実行環境と同じマシンにSelenium Grid2のHubを用意しました。Nodeについては、Hubと同じマシンに1つ目のNodeを用意しFireFoxとSafariをテストします。もう一台のマシンに2つ目のNodeを用意し、ChromeとInternet Explorerをテストする環境を構築しました。

 環境が異なる場合は、適宜読み替えていただければと思います。

8.3. Hubの準備

 下記URLより、Selenium Serverをダウンロードします。

図19:Selenium Serverのダウンロード
図19:Selenium Serverのダウンロード

 ダウンロードしたjarファイルを「selenium-server-standalone-2.xx.x.jar」をHubとするマシンに配置し下記のコマンドを実行します。

java -jar selenium-server-standalone-2.xx.x.jar -role hub
※7

 2.xx.xの部分にはバージョン番号が入りますので、適宜読み替えてください。筆者は2.35.0で動作確認を行っています。

8.4. Nodeの準備

 Nodeとしてテストを実行するマシンにもHubと同じjarを配置し、下記コマンドを実行します。

 1つ目のNodeではFirefoxとSafariをテスト対象にしています。

java -jar selenium-server-standalone-2.xx.x.jar -role node  -hub http://xxx.xxx.xxx.xxx:4444/grid/register -browser "browserName=firefox,version=24,maxInstances=1,platform=MAC" -browser "browserName=safari,version=6,maxInstances=1,platform=MAC"
※8

 「xxx.xxx.xxx.xxx」の部分にはHubのマシンのIPアドレスを指定してください。Hubと同一マシンであれば「localhost」でも構いません(以降「xxx.xxx.xxx.xxx」はHubを実行しているマシンのIPアドレスとします)。

※9

 実行するコマンドは改行を入れずに1行で記述してください。

 2つ目のNodeも同様です。Nodeとする実行環境に先ほどと同じjarを配置し、下記コマンドを実行します。

 2つ目のNodeにはchromeとInternet Explorerを指定しています。

java -jar selenium-server-standalone-2.xx.x.jar -role node  -hub http://xxx.xxx.xxx.xxx:4444/grid/register -browser "browserName=chrome,version=30,maxInstances=1,platform=WINDOWS" -browser "browserName=internet explorer,version=10,maxInstances=1,platform=WINDOWS"
※10

 Internet Explorer、Chromeをテストする場合には、それぞれInternet Explorer Driver Server、Chromedriverの用意が必要です。第2回の記事を参考に用意してください。ここではパスが通っている前提で説明します。

8.5. Hubに接続されたNodeを確認する

 下記URLにアクセスすると、Hubに接続されたNodeの確認が可能です。

  • http://xxx.xxx.xxx.xxx:4444/grid/console
図20:Selenium Grid2コンソール
図20:Selenium Grid2コンソール

次のページ
9. テストの並列実行

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
WebDriverの採用で生まれ変わったOSSのブラウザテストツール「Selenium 2」入門連載記事一覧

もっと読む

この記事の著者

五座 淳一(株式会社DTS)(ゴザ ジュンイチ)

株式会社DTS 金融企画部所属。主に大規模・金融機関向けシステム開発のアーキテクト担当しています。ウォーターフォール型の開発に、CIなどアジャイル開発のプラクティスを取り入れ、開発プロセスの改善を試みています。 

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7505 2013/11/22 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング