由于伺服器都沒有安裝桌面系統,想要在centos 7上使用karma啟動headless chrome來運作angularjs ut,略麻煩了些,最後參考一些文章最後完成了環境搭建,成功運作了UT。
關鍵詞:
- CentOS 7 Core
- Headless Browser
- Karma
- Xvfb
安裝步驟:
安裝chrome浏覽器
因為受聯網限制,下載下傳了google-chrome-stable_current_x86_64.rpm手動安裝。
同時要注意也需要安裝與chrome-stable 版本相容的chromedriver_linux64.zip,chromedriver和chrome的配套關系在下載下傳目錄的ntoes.txt中檢視。
下載下傳位址:
http://chromedriver.storage.googleapis.com/index.html
解壓後将得到的可執行檔案配置到$PATH下。
安裝Xvfb
yum install Xvfb libXfon xorg-x11-fonts* -y
Xvfb使得沒有GUI的情況下也可以打開浏覽器運作自動化測試。
啟動xvfb服務
根據情況設定下面的screen參數
nohup Xvfb -ac : -screen x1024x8 &
export DISPLAY=:
安裝npm 依賴包
npm install UT所需要的所有包
運作karma ut!
注意:
1)上述指令需要指定karma.config.js檔案位址,否則會報錯
2)karma.config.js 浏覽器配置需要設定一下chrome的啟動參數,否則會報 no sandbox 之類的錯誤,類似如下:
browsers:['NoSandboxChromeHeadless'],
captureTimeout: 60000,
customLaunchers: {
NoSandboxChromeHeadless: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},