W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Electron 基于 Chromium,所以需要一個顯示驅(qū)動使其運轉(zhuǎn)。如果 Chromium 無法找到一個顯示驅(qū)動, ELectron 會啟動失敗,因此無論你如何去運行它,Electron 不會執(zhí)行你的任何測試。在 Travis,Circle, Jenkins 或者類似的系統(tǒng)上測試基于Electron的應(yīng)用時,需要進行一些配置。本質(zhì)上,我們需要使用一個 虛擬的顯示驅(qū)動。
首先安裝 Xvfb。 這是一個虛擬的幀緩沖,實現(xiàn)了X11顯示服務(wù)協(xié)議,所有的圖形操作都在內(nèi)存中表現(xiàn),而不需要顯示在 任何屏幕輸出設(shè)備上。這正是我們所需要的。
然后創(chuàng)建一個虛擬的xvfb屏幕并且導(dǎo)出一個指向他的名為 DISPLAY
的環(huán)境變量。Electron 中的 Chromium 會自動的去尋找 $DISPLAY
,所以你的應(yīng)用不需要再去進行配置。這一步可以通過 Paul Betts 的 xvfb-maybe 實現(xiàn)自動化:如果系統(tǒng)需要,在xvfb-maybe
前加上你的測試命令 然后這個小工具會自動的設(shè)置 xvfb。在 Windows 或者 macOS 系統(tǒng)下,它不會執(zhí)行任何東西。
## 在 Windows 或者 macOS,這只是調(diào)用 electron-mocha
## 在 Linux, 如果我們在 headless 環(huán)境,這將是等同于
## xvfb-run electron-mocha ./test/*.js
xvfb-maybe electron-mocha ./test/*.js
在 Travis 上, 你的 .travis.yml
應(yīng)該和下面的代碼相似:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
Jenkins下, 有一個可用的 Xvfb插件。
Circle CI 是非常棒的而且有xvfb,$DISPLAY
也 已經(jīng)搭建,所以不需要再進行設(shè)置。
AppVeyor 運行于 Windows 上,支持 Selenium,Chromium,Electron 以及一些類似的工具,開箱即用,無需配置。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: