UI recorder的介紹在上個(gè)文章中有,這里不過(guò)多介紹了。
這篇文章主要記錄一下,使用docker selenium配合uirecorder做自動(dòng)化測(cè)試的整個(gè)過(guò)程。
docker selenium
· GitHub地址:https://github.com/SeleniumHQ/docker-selenium
· 鏡像地址:https://hub.docker.com/r/selenium/
包含的鏡像及說(shuō)明:
· selenium/base: 包含Java運(yùn)行組件及Selenium jar文件的基礎(chǔ)鏡像
· selenium/hub: 運(yùn)行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 代替虛擬機(jī)組建 Selenium Grid 的好處
· 不再需要自己安裝 python,瀏覽器等,只需要按照需要 run 這些 docker image 即可
· 只需要有一臺(tái) OS 支持 Docker Engine 的虛擬機(jī)/物理機(jī)可以跑了
· 根據(jù)自己需要開(kāi)啟和組建自己的 selenium grid ,大大縮短了以前增加和配置虛擬機(jī)所花的時(shí)間。同時(shí)由于組建 grid 成本低,因此不需要 grid 的時(shí)候直接關(guān)閉即可
拉取鏡像跑起來(lái)
這里不介紹docker了,這篇的重點(diǎn)不在如何使用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
啟動(dòng)這兩個(gè)鏡像
配合uirecorder
如何錄制什么的,可以參考我的上一篇文章。
· 修改config文件為node-chrome節(jié)點(diǎn)
· 之后正常運(yùn)行腳本
總結(jié)
優(yōu)勢(shì)
· 在運(yùn)行的時(shí)候你會(huì)發(fā)現(xiàn)速度相較于虛擬機(jī)會(huì)快非常多
· 對(duì)于 selenium grid 環(huán)境,Docker 相比 VM 的優(yōu)勢(shì)在于快速啟動(dòng)和快速部署
· 對(duì)于變更頻繁的測(cè)試環(huán)境,使用 docker 能減少很多部署的時(shí)間
· 不足
· IE還不支持