DockerでSelenium Gridを使う


Seleniumは、ブラウザのテスト自動化ツールです。
Selenium Gridは、ひとつのテストスクリプトで複数の実機ブラウザでSeleniumのテストを実施できるしくみです。
ここではSelenium GridのHubとNodeを立ち上げるDocker Composeを紹介します。

🍮 Docker Composeファイル

次のDocker Composeファイルを作成します。

version: '3'
services:
hub:
image: selenium/hub:3.0.1-carbon
ports:
- 4444:4444
chrome:
image: selenium/node-chrome-debug:3.0.1-carbon
ports:
- 15900:5900
depends_on:
- hub
environment:
- no_proxy=localhost
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
- HUB_ENV_no_proxy=localhost

😼 Selenium Grid

Docker for Mac(Windows)を立ち上げた上で、次のコマンドを実行してコンテナを立ち上げます。

docker-compose up

🚜 Hubへの接続

http://localhost:4444にアクセスすると、Selenium Hubにアクセスできます。

🤔 Nodeへの接続

ChromeがうごいているSelenium GridのNodeにアクセスしてみます。VNCはFinderから「⌘+K」で立ち上げます。
立ち上げたら「vnc://127.0.0.1:15900」(127.0.0.1はdockerのIP)に接続してください。

Passwordは「secret」と入力してください。

Chromeの入ったUbuntu環境にアクセスできます。

🐹 参考リンク

📚 おすすめの書籍

🖥 サーバについて

このブログでは「Cloud Garage」さんのDev Assist Program(開発者向けインスタンス無償提供制度)でお借りしたサーバで技術検証しています。 Dev Assist Programは、開発者や開発コミュニティ、スタートアップ企業の方が1GBメモリのインスタンス3台を1年間無料で借りれる心強い制度です!(有償でも1,480円/月と格安)