爲了下降 Selenium Node 的維護成本docker
測試用例的版本化管理。架構
測試用例採用和開發一致的版本號。測試
提供基於 Restful API 的測試執行接口供 CI/CD 使用。編碼
不直接在 CI/CD 流水線的腳本中硬編碼發起測試的命令行。命令行
要解決的問題:單個 Jenkins 成了整個測試基礎架構的瓶頸節點。blog
將測試基礎架構中的單個 Jenkins 擴展爲 Jenkins 集羣。接口
爲了解決這種測試負載不均衡的問題,到底須要多少執行機器?資源
採用Selenium Grid 的自動擴容和收縮技術。開發
Selenium Grid 的自動擴容和收縮技術的核心思想是,經過單位時間內的測試用例數量,以及指望執行完全部測試的時間,來動態計算獲得所需的 Node 類型和數量,而後再基於 Docker 容器快速添加新的 Node 到 Selenium Grid 中;而空閒時段則去監控哪些 Node 在指定時間長短內沒有被使用,並動態地回收這些 Node 以釋放系統資源。selenium
對於測試基礎架構的建設,咱們切忌不要爲了追求新技術而使用新技術,而是應該根據企業目前在測試執行環境上的痛點,來有針對性地選擇與定製測試基礎架構。
採用什麼樣的測試基礎架構不是由技術自己決定的,而是由測試需求推進的。
來源於 極客時間 茹炳晟 軟件測試52講