該專案是由志願者貢獻者完成的,他們投入了數千小時的時間,並在 Apache License 2.0 下免費提供原始程式碼。
這些 Docker 映像帶有一些標籤來簡化其使用,請在我們的一個版本中查看它們。
若要取得新版本的通知,請將您自己新增為「僅發布」觀察者。
這些映像發佈到 Selenium Docker Hub 的 Docker Hub 註冊表中。
您需要協助使用這些 Docker 映像嗎?請透過 https://www.selenium.dev/support/ 與我們聯繫
--shm-size="2g"
docker run -d -p 4444:4444 -p 7900:7900 --shm-size= " 2g " selenium/standalone-firefox:4.26.0-20241101
將您的 WebDriver 測試指向 http://localhost:4444
就是這樣!
(可選)要查看容器內發生的情況,請造訪 http://localhost:7900/?autoconnect=1&resize=scale&password=secret。
有關可視化容器活動的更多詳細信息,請查看調試部分。
☝️ 當包含瀏覽器的映像執行docker run
時,請使用標誌--shm-size=2g
來使用主機的共用記憶體。
☝️ 始終使用帶有完整標籤的 Docker 映像來固定特定的瀏覽器和 Grid 版本。有關詳細信息,請參閱標記約定。
從基於image tag的4.21.0
開始,專案支援的架構如下:
建築學 | 可用的 |
---|---|
x86_64(又稱 amd64) | ✅ |
aarch64(又稱arm64/armv8) | ✅ |
armhf(又稱arm32/armv7l) | ❌ |
以下瀏覽器在多架構映像中可用:
建築學 | 鉻合金 | 鉻 | 火狐瀏覽器 | 邊緣 |
---|---|---|---|---|
x86_64(又稱 amd64) | ✅ | ✅ | ✅ | ✅ |
aarch64(又稱arm64/armv8) | ❌ | ✅ | ✅ | ❌ |
armhf(又稱arm32/armv7l) | ❌ | ❌ | ❌ | ❌ |
筆記:
Google 不會為 Linux/ARM 平台建立 Chrome ( google-chrome
)。因此,Chrome(節點和獨立)映像僅適用於 AMD64。同樣,微軟也沒有為 Linux/ARM 平台建置 Edge ( microsoft-edge
)。
由於效能和穩定性問題,不建議在 ARM64 平台上模擬運行 AMD64 映像。
對於 Linux/ARM,請使用開源 Chromium 瀏覽器。 Chromium(節點和獨立)映像可在多架構中使用。
$ docker run --rm -it -p 4444:4444 -p 5900:5900 -p 7900:7900 --shm-size 2g selenium/standalone-chromium:latest
多架構影像在 CircleCI 上使用資源類別 Linux/ARM64 進行測試。請參閱下面的狀態。
對於在 Apple M 系列或 Raspberry Pi 等平台上運行的實驗性 docker 容器映像,seleniumhq-community/docker-seleniarm 的儲存庫提供了在 Seleniarm Docker Hub 註冊表上發布的映像。
有關這些圖像的更多信息,請參閱問題 #1076。
現在,分叉 seleniumhq-community/docker-seleniarm 已合併。
我們建議在 Docker Engine 中啟用容器化映像儲存的實驗功能。 containerd
理解多平台鏡像,其中單一鏡像標籤可以引用涵蓋一系列作業系統和硬體架構的不同變體。它簡化了在不同平台上建置、儲存和分發圖像的過程。
在 Docker 引擎中啟用該功能的單一命令:
make set_containerd_image_store
若要建立多平台的所有映像,請執行以下命令:
PLATFORMS=linux/amd64,linux/arm64 make build
若要建立特定平台的映像,請執行以下命令:
PLATFORMS=linux/arm64 make build
預設情況下,在不指定PLATFORMS
變數的情況下,映像是為linux/amd64
平台建置的。
Nightly 鏡像建構在上游專案 Selenium 的 Nightly 建置之上,並包含此儲存庫中主分支的最新變更。圖片標籤是nightly
。不建議在生產中使用圖像。它僅用於測試目的。
$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:nightly
查看 docker compose 以開始使用 Nightly 映像 docker-compose-v3-full-grid-nightly.yml
為了執行測試或以其他方式使用預發布的瀏覽器,Google、Mozilla 和 Microsoft 為需要查看即將向大眾發布的內容的人維護了一個 Dev 和 Beta 發布管道。
以下是在獨立模式下運行它們的說明:
鉻測試版:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-chrome:beta
Chrome 開發人員:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-chrome:dev
火狐測試版:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:beta
火狐開發者:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-firefox:dev
邊緣測試版:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-edge:beta
邊緣開發:
$ docker run --rm -it -p 4444:4444 -p 7900:7900 --shm-size 2g selenium/standalone-edge:dev
docker-compose-v3-beta-channel.yml:
# To execute this docker compose yml file use `docker compose -f docker-compose-v3-beta-channel.yml up`
# Add the `-d` flag at the end for detached execution
# To stop the execution, hit Ctrl+C, and then `docker compose -f docker-compose-v3-beta-channel.yml down`
version: " 3 "
services:
chrome:
image: selenium/node-chrome:beta
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
edge:
image: selenium/node-edge:beta
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
firefox:
image: selenium/node-firefox:beta
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-hub:
image: selenium/hub:latest
container_name: selenium-hub
ports:
- " 4442:4442 "
- " 4443:4443 "
- " 4444:4444 "
docker-compose-v3-dev-channel.yml:
# To execute this docker compose yml file use `docker compose -f docker-compose-v3-dev-channel.yml up`
# Add the `-d` flag at the end for detached execution
# To stop the execution, hit Ctrl+C, and then `docker compose -f docker-compose-v3-dev-channel.yml down`
version: " 3 "
services:
chrome:
image: selenium/node-chrome:dev
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
edge:
image: selenium/node-edge:dev
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
firefox:
image: selenium/node-firefox:dev
shm_size: 2gb
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium-hub:
image: selenium/hub:latest
container_name: selenium-hub
ports:
- " 4442:4442 "
- " 4443:4443 "
- " 4444:4444 "
有關 Dev 和 Beta 通道容器映像的更多信息,請參閱有關透過 Docker Selenium 開發和 Beta 通道瀏覽器的部落格文章。
火狐瀏覽器
docker run -d -p 4444:4444 --shm-size= " 2g " selenium/standalone-firefox:4.26.0-20241101
鉻合金
docker run -d -p 4444:4444 --shm-size= " 2g " selenium/standalone-chrome:4.26.0-20241101
邊緣
docker run -d -p 4444:4444 --shm-size= " 2g " selenium/standalone-edge:4.26.0-20241101
注意: 4444
連接埠只能同時運作一個Standalone容器。
有不同的方法來運行影像並建立具有集線器和節點的網格,請檢查以下選項。
集線器和節點將在同一網路中創建,它們將透過容器名稱相互識別。第一步需要建立 Docker 網路。
$ docker network create grid
$ docker run -d -p 4442-4444:4442-4444 --net grid --name selenium-hub selenium/hub:4.26.0-20241101
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub
--shm-size= " 2g "
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium/node-chrome:4.26.0-20241101
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub
--shm-size= " 2g "
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium/node-edge:4.26.0-20241101
$ docker run -d --net grid -e SE_EVENT_BUS_HOST=selenium-hub
--shm-size= " 2g "
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
selenium/node-firefox:4.26.0-20241101
$ docker network create grid
$ docker run - d - p 4442 - 4444 : 4442 - 4444 -- net grid -- name selenium - hub selenium / hub: 4.26 . 0 - 20241101
$ docker run - d -- net grid - e SE_EVENT_BUS_HOST = selenium - hub `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
selenium / node - chrome: 4.26 . 0 - 20241101
$ docker run - d -- net grid - e SE_EVENT_BUS_HOST = selenium - hub `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
selenium / node - edge: 4.26 . 0 - 20241101
$ docker run - d -- net grid - e SE_EVENT_BUS_HOST = selenium - hub `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
selenium / node - firefox: 4.26 . 0 - 20241101
當您使用完網格且容器已退出時,可以使用下列命令刪除網路:
# Removes the grid network
$ docker network rm grid
集線器和節點將創建在不同的機器/虛擬機器上,它們需要知道彼此的 IP 才能正確通訊。如果多個節點將在同一台機器/VM 上執行,則必須將它們配置為公開不同的連接埠。
$ docker run -d -p 4442-4444:4442-4444 --name selenium-hub selenium/hub:4.26.0-20241101
$ docker run -d -p 5555:5555
--shm-size= " 2g "
-e SE_EVENT_BUS_HOST= < ip-from-machine- 1>
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_HOST= < ip-from-machine- 2>
selenium/node-chrome:4.26.0-20241101
$ docker run - d - p 5555 : 5555 `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_HOST = < ip - from - machine - 1> `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
- e SE_NODE_HOST = < ip - from - machine - 2> `
selenium / node - chrome: 4.26 . 0 - 20241101
$ docker run -d -p 5555:5555
--shm-size= " 2g "
-e SE_EVENT_BUS_HOST= < ip-from-machine- 1>
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_HOST= < ip-from-machine- 3>
selenium/node-edge:4.26.0-20241101
$ docker run - d - p 5555 : 5555 `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_HOST = < ip - from - machine - 1> `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
- e SE_NODE_HOST = < ip - from - machine - 3> `
selenium / node - edge: 4.26 . 0 - 20241101
$ docker run -d -p 5555:5555
--shm-size= " 2g "
-e SE_EVENT_BUS_HOST= < ip-from-machine- 1>
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_HOST= < ip-from-machine- 4>
selenium/node-firefox:4.26.0-20241101
$ docker run - d - p 5555 : 5555 `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_HOST = < ip - from - machine - 1> `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
- e SE_NODE_HOST = < ip - from - machine - 4> `
selenium / node - firefox: 4.26 . 0 - 20241101
$ docker run -d -p 5556:5556
--shm-size= " 2g "
-e SE_EVENT_BUS_HOST= < ip-from-machine- 1>
-e SE_EVENT_BUS_PUBLISH_PORT=4442
-e SE_EVENT_BUS_SUBSCRIBE_PORT=4443
-e SE_NODE_HOST= < ip-from-machine- 4>
-e SE_NODE_PORT=5556
selenium/node-chrome:4.26.0-20241101
$ docker run - d - p 5556 : 5556 `
-- shm - size = " 2g " `
- e SE_EVENT_BUS_HOST = < ip - from - machine - 1> `
- e SE_EVENT_BUS_PUBLISH_PORT = 4442 `
- e SE_EVENT_BUS_SUBSCRIBE_PORT = 4443 `
- e SE_NODE_HOST = < ip - from - machine - 4> `
- e SE_NODE_PORT = 5556 `
selenium / node - chrome: 4.26 . 0 - 20241101
Docker Compose 是啟動網格的最簡單方法。使用下面的連結資源,將它們保存在本地並檢查每個文件頂部的執行指令。
docker-compose-v2.yml
docker-compose-v3.yml
若要停止網格並清理已建立的容器,請執行docker compose down
。
docker-compose-v3-swarm.yml
可以啟動一個 Selenium 網格,並將其所有組件分開。為了簡單起見,僅提供 docker compose 的範例。將檔案儲存到本地,然後查看上面的執行指令。
docker-compose-v3-full-grid.yml
環境變數 | 選項 | 類型 | 預設值 | 描述 |
---|---|---|---|---|
SE_REJECT_UNSUPPORTED_CAPS | --reject-unsupported-caps | 布林值 | false | 如果網格不支援所要求的功能,則允許分發者立即拒絕請求。 |
SE_HEALTHCHECK_INTERVAL | --healthcheck-interval | 整數 | 120 | 這可確保伺服器在一段時間後可以成功 ping 所有節點。 |
可以使用selenium/video:ffmpeg-7.1-20241101
Docker 映像來記錄測試執行情況。每個運行瀏覽器的容器都需要一個容器。這意味著如果您運行 5 個節點/獨立容器,則需要 5 個視訊容器,映射為 1-1。
目前,執行此映射的唯一方法是手動(手動啟動容器或透過docker compose
)。我們正在迭代這個過程,將來這個設定可能會更加簡單。
我們提供的視訊Docker映像是基於jrottenberg/ffmpeg專案提供的ffmpeg Ubuntu映像,感謝您提供這個映像並簡化了我們的工作?
從基於映像標籤的4.20.0
開始,視訊 Docker 映像基於 linuxserver/docker-ffmpeg 專案提供的 FFmpeg Ubuntu 映像,因為該映像可用於多平台。感謝您簡化我們的專案並幫助我們在多種架構支援方面取得進展。
注意事項:
/videos
目錄中。映射本地目錄以獲取視訊。FILE_NAME
環境變數覆寫視訊檔案名,以避免出現意外結果。此範例顯示如何手動啟動容器:
$ docker network create grid
$ docker run -d -p 4444:4444 -p 6900:5900 --net grid --name selenium --shm-size= " 2g " selenium/standalone-chrome:4.26.0-20241101
$ docker run -d --net grid --name video -v /tmp/videos:/videos selenium/video:ffmpeg-7.1-20241101
# Run your tests
$ docker stop video && docker rm video
$ docker stop selenium && docker rm selenium
容器停止並刪除後,您應該在電腦的/tmp/videos
目錄中看到一個視訊檔案。
這是使用集線器和一些節點的範例:
docker-compose-v3-video.yml
基於元資料在測試中的支援。當錄影機與瀏覽器節點一起部署並啟用SE_VIDEO_FILE_NAME=auto
並將元資料新增至測試時,視訊檔案名稱會擷取功能se:name
的值並將其用作視訊檔案名稱。
例如在 Python 綁定中:
from selenium . webdriver . chrome . options import Options as ChromeOptions
from selenium import webdriver
options = ChromeOptions ()
options . set_capability ( 'se:name' , 'test_visit_basic_auth_secured_page (ChromeTests)' )
driver = webdriver . Remote ( options = options , command_executor = "http://localhost:4444" )
driver . get ( "https://selenium.dev" )
driver . quit ()
輸出視訊檔案名稱將為test_visit_basic_auth_secured_page_ChromeTests_<sessionId>.mp4
。
如果您的測試名稱由測試框架處理,並且它是唯一的,您也可以透過設定SE_VIDEO_FILE_NAME_SUFFIX=false
來停用會話 ID 附加到視訊檔案名稱。
檔案名稱將被修剪為 255 個字元以避免長檔案名稱。此外, space
字元將被_
替換,且檔案名稱中僅保留字母、數字、 -
(連字元)、 _
(底線)字元。
可以透過設定SE_VIDEO_FILE_NAME_TRIM_REGEX
環境變數來自訂修剪正規表示式。預設值為[:alnum:]-_
。正規表示式應與 bash 中的tr
指令相容。
在部署級別,記錄器容器始終處於運作狀態。此外,您可以透過會話功能se:recordVideo
停用視訊錄製過程。例如在 Python 綁定中:
options . set_capability ( 'se:recordVideo' , False )
在記錄器容器中,會根據 Node SessionId 在 Hub 中執行查詢 GraphQL,並在功能中提取se:recordVideo
的值,然後決定是否開始錄影過程。
注意:要到達 GraphQL 端點,記錄器容器需要知道 Hub URL。 Hub URL 可以透過環境變數SE_NODE_GRID_URL
傳遞。例如SE_NODE_GRID_URL
是http://selenium-hub:4444
。
RCLONE 安裝在錄影機映像中。您可以使用它將影片上傳到雲端儲存服務。除了上述的錄影之外,您還可以透過設定以下環境變數來啟用上傳功能:
version : " 3 "
services :
chrome_video :
image : selenium/video:ffmpeg-7.1-20241101
depends_on :
- chrome
environment :
- DISPLAY_CONTAINER_NAME=chrome
- SE_VIDEO_FILE_NAME=auto
- SE_VIDEO_UPLOAD_ENABLED=true
- SE_UPLOAD_DESTINATION_PREFIX=s3://mybucket/path
- RCLONE_CONFIG_S3_TYPE=s3
- RCLONE_CONFIG_S3_PROVIDER=GCS
- RCLONE_CONFIG_S3_ENV_AUTH=true
- RCLONE_CONFIG_S3_REGION=asia-southeast1
- RCLONE_CONFIG_S3_LOCATION_CONSTRAINT=asia-southeast1
- RCLONE_CONFIG_S3_ACL=private
- RCLONE_CONFIG_S3_ACCESS_KEY_ID=xxx
- RCLONE_CONFIG_S3_SECRET_ACCESS_KEY=xxx
- RCLONE_CONFIG_S3_ENDPOINT=https://storage.googleapis.com
- RCLONE_CONFIG_S3_NO_CHECK_BUCKET=true
SE_VIDEO_FILE_NAME=auto
將使用會話 ID 作為視訊檔案名稱。這可確保上傳的視訊檔案名稱是唯一的。視訊檔案名稱建構根據節點端點/status
(和可選的 GraphQL 端點)自動工作,以取得會話 ID、功能。
SE_VIDEO_UPLOAD_ENABLED=true
將啟用視訊上傳功能。在後台,它將創建一個包含文件和目標的管道文件,供上傳者使用和繼續。
SE_VIDEO_INTERNAL_UPLOAD=true
將使用容器中安裝的 RCLONE 進行上傳。如果您想使用其他 sidecar 容器進行上傳,請將其設定為false
。
每個模式的 ENV 變數 | 集線器/節點 | 獨立角色 | 動態網格 |
---|---|---|---|
SE_VIDEO_RECORD_STANDALONE (強制) | false (預設) | true | true |
DISPLAY_CONTAINER_NAME (必填) | 使用者輸入 | 使用者輸入 | (非必需) |
SE_NODE_PORT (可選) | 5555 | 4444 | (非必需) |
SE_NODE_GRID_URL (可選) | 使用者輸入 | (非必需) | (非必需) |
對於帶有前綴RCLONE_
環境變量,用於將遠端配置傳遞給 RCLONE。您可以在此處找到有關 RCLONE 配置的更多資訊。在動態網格中使用時,這些變數應與前綴SE_
組合,例如SE_RCLONE_
。請參閱下面的參考資料以了解更多詳細資訊。
配置Hub和Node的影片錄製和上傳:docker-compose-v3-video-upload.yml
為獨立角色配置視訊錄製和上傳:docker-compose-v3-video-upload-standalone.yml
配置動態網格(node-docker)的視訊錄製和上傳:docker-compose-v3-video-upload-dynamic-grid.yml
設定 Dynamic Grid 獨立版 (standalone-docker) 的錄影與上傳:tests/docker-compose-v3-test-standalone-docker.yaml
環境變數 | 預設值 | 描述 |
---|---|---|
SE_UPLOAD_RETAIN_LOCAL_FILE | false | 上傳成功後保留本機文件 |
SE_UPLOAD_COMMAND | copy | RCLONE指令用於傳輸檔案。保留本地檔案為false 時強制move |
SE_UPLOAD_OPTS | -P --cutoff-mode SOFT --metadata --inplace | 可以設定屬於 RCLONE 指令的其他選項。 |
SE_UPLOAD_CONFIG_FILE_NAME | upload.conf | 遠端主機的設定文件,而不是透過環境變數前綴 SE_RCLONE_* 設定 |
SE_UPLOAD_CONFIG_DIRECTORY | /opt/bin | 設定檔目錄(掛載其他目錄下的conf檔時更改) |
Grid 4 能夠按需啟動 Docker 容器,這意味著它將在後台為每個新會話請求啟動一個 Docker 容器,在那裡執行測試,當測試完成時,容器將被丟棄。
此執行模式可以在獨立角色或節點角色中使用。 「動態」執行模式需要被告知容器啟動時要使用哪些 Docker 映像。此外,Grid 需要知道 Docker 守護程式的 URI。此配置可以放置在本機toml
檔案中。
您可以將此檔案儲存在本機並命名,例如config.toml
。
[ docker ]
# Configs have a mapping between the Docker image to use and the capabilities that need to be matched to
# start a container with the given image.
configs = [
" selenium/standalone-firefox:4.26.0-20241101 " , ' {"browserName": "firefox"} ' ,
" selenium/standalone-chrome:4.26.0-20241101 " , ' {"browserName": "chrome"} ' ,
" selenium/standalone-edge:4.26.0-20241101 " , ' {"browserName": "MicrosoftEdge"} '
]
host-config-keys = [ " Dns " , " DnsOptions " , " DnsSearch " , " ExtraHosts " , " Binds " ]
# URL for connecting to the docker daemon
# Most simple approach, leave it as http://127.0.0.1:2375, and mount /var/run/docker.sock.
# 127.0.0.1 is used because internally the container uses socat when /var/run/docker.sock is mounted
# If var/run/docker.sock is not mounted:
# Windows: make sure Docker Desktop exposes the daemon via tcp, and use http://host.docker.internal:2375.
# macOS: install socat and run the following command, socat -4 TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock,
# then use http://host.docker.internal:2375.
# Linux: varies from machine to machine, please mount /var/run/docker.sock. If this does not work, please create an issue.
url = " http://127.0.0.1:2375 "
# Docker image used for video recording
video-image = " selenium/video:ffmpeg-7.1-20241101 "
# Uncomment the following section if you are running the node on a separate VM
# Fill out the placeholders with appr