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コマンド入れれば解決すると思うけど)

この記事が気に入ったらサポートをしてみませんか?