通過docker selenium grid 分散式相容測試
1、安裝docker desktop
官網下載適合的系統版本安裝。
安裝開啟可能需要安裝檔案或者開啟。
2、下載映象
docker pull selenium/hub
docker pull selenium/node-firefox
docker pull selenium/node-chrome
3、執行映象
3.1啟動selenium-hub
docker run -p 5555:4444 -d --name hub selenium/hub
run 是讓我們執行一個映象,創建出一個容器。
執行的映象名字叫做selenium/hub
-p 5555:4444 這個是把容器裡的埠映射出來,讓別人可以訪問。
-d 在後臺執行
--name 給這個容器起一個容易明白的名字,這裡我就直接把這個容器成為hub。
3.2啟動selenium-node
輸入命令
docker run -P -d --link hub:hub --name firefox selenimu/node-firefox
docker run -P -d --link hub:hub --name chrome selenimu/node-chrome
--link 是連結別名為hub的容器
4、檢視執行中的映象
輸入命令docker ps
5、檢視hub中註冊的node 節點
http://192.168.99.100:5555/grid/console (hub的ip,本地起的話就是本地地址)
6、檢視執行中的節點 資訊
輸入命令docker logs hub
7、demo 測試
# coding=utf-8 from selenium import webdriver chrome_capabilities ={ "browserName": "chrome", "version": "", "platform": "ANY", "javascriptEnabled": True, # "marionette": True, } browser = webdriver.Remote("http://192.168.99.100:5555/wd/hub", desired_capabilities=chrome_capabilities) browser.get("http://www.163.com") browser.get_screenshot_as_file(r"D:/sample/chrome.png") browser.quit()
8、安裝debug 版本
輸入命令
docker pull selenium/node-chrome-debug
docker pull selenium/node-firefox-debug
9、使用vnc viewer 檢視容器內執行