背景介紹
在Web UI自動化測試的時候,往往我們需要進行分布式的測試,或者是并發測試來加快自動化測試的效率。這時候,我們就需要大量的浏覽器執行個體。早期的做法是,在一台比較好的伺服器上利用虛拟機來啟動多個作業系統執行個體,每個作業系統中裝有浏覽器。這個缺點是啟動執行個體的速度慢,同時伺服器的資源消耗嚴重,很難在同一台伺服器上開啟非常多的虛拟機執行個體。是以,我們将Docker引入進來,利用Docker輕量級的特性,來達到秒級的浏覽器容器執行個體建立速度。

Docker
技術實作
我們以一個簡單的Robot Framework自動化測試過程,來示範如何建立chrome與firefox執行個體。
第一步,編寫Compose檔案
首先,我們編寫docker-compose檔案,如下圖所示。
Compose file
第二步,啟動selenium hub 與 node-chrome, node-firefox執行個體
> sudo docker-compose up -d
Containers
第三步,執行測試腳本
> robot BasicDemo.robot
BasicDemo.robot
檢視測試結果
robot 測試報告
測試用例運作截圖
以上樣例,存放在github的
wywincl/SeleniumTest項目中,可以自己克隆下來學習實驗。
小彩蛋。
fortune + cowsay + lolcat