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還不支持