UI recorder的介紹在上個文章中有柳爽,這里就不過多介紹了。
這篇文章主要記錄一下,使用docker selenium配合uirecorder做自動化測試的整個過程焦辅。
docker selenium
- GitHub地址:https://github.com/SeleniumHQ/docker-selenium
- 鏡像地址:https://hub.docker.com/r/selenium/
包含的鏡像及說明: - selenium/base: 包含Java運行組件及Selenium jar文件的基礎(chǔ)鏡像
- selenium/hub: 運行Selenium Grid Hub的鏡像
- selenium/node-base: 包含虛擬桌面環(huán)境及VNC支持的Selenium Grid Node基礎(chǔ)鏡像
- selenium/node-chrome: 包含Chrome的Selenium node鏡像需要連接 Selenium Grid Hub使用
- selenium/node-firefox:包含firefox的Selenium node鏡像需要連接 Selenium Grid Hub使用
- selenium/standalone-chrome:包含 Chrome的Selenium standalone鏡像(不需要連接SeleniumGrid Hub)
- selenium/standalone-firefox: 包含 Firefox的Selenium standalone鏡像(不需要連接 Selenium Grid Hub)
- selenium/standalone-chrome-debug:包含Chrome和VNC Server的Selenium standalone鏡像
- selenium/standalone-firefox-debug:包含F(xiàn)irefox和VNC Server的Selenium standalone鏡像
- selenium/node-chrome-debug: 包含Chrome和VNC Server的Selenium Grid Node 鏡像,需要連接Selenium Grid Hub使用
- selenium/node-firefox-debug: 包含 Firefox和VNC Server的Selenium Grid Node 鏡像椿胯,需要連接 Selenium Grid Hub 使用
docker 代替虛擬機組建 Selenium Grid 的好處
- 不再需要自己安裝 python筷登,瀏覽器等,只需要按照需要 run 這些 docker image 即可
- 只需要有一臺 OS 支持 Docker Engine 的虛擬機/物理機就可以跑了
- 根據(jù)自己需要開啟和組建自己的 selenium grid 哩盲,大大縮短了以前增加和配置虛擬機所花的時間前方。同時由于組建 grid 成本低,因此不需要 grid 的時候直接關(guān)閉即可
拉取鏡像跑起來
這里就不介紹docker了廉油,這篇的重點不在如何使用docker上惠险。
- docker pull selenium/hub
- docker pull selenium/node-chrome
先拉取所需鏡像,這里我使用hub和node-chrome - docker run -d --name hub -p 4444:4444 selenium/hub
- docker run -d -P -p 5901:5900 -p 15000:5555 --link hub:hub selenium/node-chrome
啟動這兩個鏡像
配合uirecorder
如何錄制什么的抒线,可以參考我的上一篇文章莺匠。
-
修改config文件為node-chrome節(jié)點
- 之后正常運行腳本
總結(jié)
優(yōu)勢
- 在運行的時候你會發(fā)現(xiàn)速度相較于虛擬機會快非常多
- 對于 selenium grid 環(huán)境,Docker 相比 VM 的優(yōu)勢在于快速啟動和快速部署
- 對于變更頻繁的測試環(huán)境十兢,使用 docker 能減少很多部署的時間
不足 - IE還不支持
參考文章: