Raspberry Pi 4にdockerでselenium gridを入れる
概要
Raspberry Pi 4(ubuntu)にdockerでselenium gridを入れたときの開発日誌。
背景
appiumを使ってandroid アプリを自動で動かしたいのだが、appiumサーバ1台でエミュレータ1台の構成だと実行速度に満足ができず、並列実行を検討することになり、その仕組みとしてSelenium Gridを検討してみることにした。
方針
今回はdockerを使って導入することにした。
やったこと
事前調査
SeleniumHQ/docker-seleniumだとラズパイ4のARM64プロセッサには対応していないため、コミュニティでforkされていたseleniumhq-community/docker-seleniarmを利用した。
git clone
ラズパイ上の適当なディレクトリでgit cloneを実施。
git clone https://github.com/seleniumhq-community/docker-seleniarm.git
build
cloneされたディレクトリの直下に移動して、localイメージをビルド。
cd docker-seleniarm/
./build.sh arm64
この時、./build.sh line 55 のmakeコマンドが見つからないという旨のメッセージが出たが、build自体はうまくいった? ので記録だけ残しておいて後で調査することにする。
docker run
ビルドしたlocal イメージを使用してdocker runしてみる。
docker run --rm -it -p 4444:4444 -p 5900:5900 -p 7900:7900 --shm-size 3g local-seleniarm/standalone-chromium:latest
docker ps
無事起動できたようなので状態を確認する。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
032da234eae9 local-seleniarm/standalone-chromium:latest "/opt/bin/entry_poin…" 17 minutes ago Up 17 minutes 0.0.0.0:4444->4444/tcp, :::4444->4444/tcp, 0.0.0.0:5900->5900/tcp, :::5900->5900/tcp, 0.0.0.0:7900->7900/tcp, :::7900->7900/tcp bold_rhodes
webブラウザからSelenium Gridにアクセス
URLにhttp://[ラズパイのIPアドレス]:4444/ui#を入力するとSelenium Gridが起動していることが確認できる。今回はchromeを使用しているため、chromeのノードと接続されていることが確認できる。
今後の目標
次はappiumのノードをここに接続するのが目標。
あと、上で無視したmakeコマンドのエラーも確認する。(makeコマンド入れれば解決すると思うけど)