19
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ラクスAdvent Calendar 2018

Day 14

Selenium Gridの環境を作ってみた

Posted at

ラクス Advent Calender 2018の14日目です。
久しぶりにSeleniumGridを使って、Seleniumのテストコードを実行する環境周りを触る機会がありましたので、起動方法とかを書いていこうかと思います。

SeleniumGridとは

  • 複数のSeleniumの実行環境を管理し、並列にテストを実行できるツール
  • 「Hub」と呼ばれるテストスクリプトを受け付けるサーバーと「Node」と呼ばれる実際にテストを実行する環境で構成されている

イメージとしては下記の通りです。
キャプチャ1.png

SeleniumGridの起動

Selenium Grid(Hub)の起動

  • 必要なソフトウェア
    • Seleniumサイトからselenium-server-standalone.jar をインストール
    • JDKをインストール
  • 起動方法
    • java -jar selenium-server-standalone.jar -role hub

http://[Selenium Grid ServerのIPアドレス]:4444/grid/console にアクセスするとコンソール画面が表示されるようになる

Grid_Console.png

Selenium Grid(Node)の起動

  • 必要なソフトウェア
    • Hubと同様にselenium-server-standalone.jarJDKをインストール
    • テストで使用するブラウザ
    • 動かすブラウザのWebDriverをインストール(例としてGoogle Chromeは、ここから)
  • 起動方法
    • java -Dwebdriver.chrome.driver=/path/to/chromedriver.exe -jar selenium-server-standalone.jar

起動すると、Hubのコンソール画面に接続したNodeの情報が表示されるようになります。

Grid_Console 2.png

Nodeのマシンでテストコードを動かすためには、RemoteWebDriverを使う必要がありますが、そこは次回で。。

まとめ

テストを実行する環境を別にすることで、環境依存で発生するエラーが起きにくいのと、テストする内容によってNodeマシンを追加・設定すれば良いだけなので管理も楽になると感じました。

次はテストを並行で実行できるようにSelenium Gridの設定周りを試してみようかと思います。
(Dockerとかを使ってNodeを増やして、テストにかかる時間を短縮とかも)

19
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?