コンテンツへスキップ

Pitaliumをつかってみた 〜 サーバ周りのお話し 〜

by : 2015/11/20

今回はSelenium HubとNodeについてです。概ね想定できる設定について、主な設定箇所と注意するべきポイントをまとめてみました。どのような環境で構築したら良いのか、テスト環境構築方針を考慮する参考にして下さい。

HubとNodeが同一サーバで稼働している場合

この場合、明示的にHubとNodeを分けてサーバを起動させる必要はありません。

local-only
local-only

実行方法も、以下の通りコマンドラインから稼働させる事が出来ます。

java -jar selenium-server-standalone-2.48.2.jar

ただ、外部からのNode接続がある、もしくは今後その想定である場合はHubとNodeで分けた方が良いでしょう。

HubとNodeがリモートサーバ側にある場合

テスト環境からみて、Seleniumサーバが外部に存在する場合です。このケースではHubとNodeサーバを設定した方が良いでしょう。

local-linux
local-linux

Hubの起動

java -jar selenium-server-standalone-2.48.2.jar -role hub

Nodeの起動

java -jar selenium-server-standalone-2.48.2.jar \
    -role node \
    -nodeConfig NodeConfigBrowser.json \
    -Dwebdriver.chrome.driver=chromedriver

ケース図でのnodeConfig設定 NodeConfigBrowser.json

{
  "capabilities": [
    {
      "browserName": "firefox",
      "maxInstances": 3,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "chrome",
      "maxInstances": 3,
      "seleniumProtocol": "WebDriver"
    },
    {
      "browserName": "safari",
      "maxInstances": 3,
      "seleniumProtocol": "WebDriver"
    }
  ],
  "configuration": {
    "hub": "http://192.168.0.100:4444/grid/register"
  }
}

テスト環境では、リモートに接続する設定が必要になります。

environmentConfig.json 環境設定をHubのアドレスに設定します。

{
  "hubHost": "192.168.0.100",
  "hubPort": 4444
}

capabilities.json プラットフォーム指定は対象のサーバに合わせて下さい。

[
  {
    "platform": "LINUX",
    "browserName": "chrome"
  }
]

HubとNodeがリモートサーバ側にあり、さらにNodeが別のサーバの場合

Hubが確定してしまえばNodeがどこに増えたとしても基本的には同じです。

local-linux2
local-linux2

Nodeサーバの設定では configuration 項目で hub のアドレスを正しく設定します。

ただしテスト環境の capabilities.json ファイルでは注意が必要です。上記の例だとMac環境がSafariになっていますので、platformは MAC とする必要があります。

[
  {
    "platform": "MAC",
    "browserName": "safari"
  },
  {
    "platform": "LINUX",
    "browserName": "chrome"
  },
  {
    "platform": "LINUX",
    "browserName": "firefox"
  }
]

このようにテストが行なえるノードを確認しておかないと、接続できなくなる(対象のNodeがない)と言うことになりかねません。

まとめ

簡単にサーバ設定をみていきましたが、いかがでしたでしょうか?本番環境と等しく、あらかじめテストのためのサーバ構成を考慮することは大事です。参考にしてください。

Pitaliumに関する過去の記事はこちら

コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。