天天看點

CentOS 7.2 使用karma運作angularjs UT(headless chrome)

由于伺服器都沒有安裝桌面系統,想要在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']
            }
        },