W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Electron 基于 Chromium,所以需要一個(gè)顯示驅(qū)動(dòng)使其運(yùn)轉(zhuǎn)。 如果 Chromium 無(wú)法找到一個(gè)顯示驅(qū)動(dòng), Electron 會(huì)啟動(dòng)失敗,因此無(wú)論你如何去運(yùn)行它,Electron 不會(huì)執(zhí)行你的任何測(cè)試。 因此,在 Travis,CircleCI,Jenkins 或者類(lèi)似的系統(tǒng)上測(cè)試基于 Electron 的應(yīng)用程序時(shí),需要進(jìn)行一些配置。 本質(zhì)上,我們需要使用一個(gè) 虛擬的顯示驅(qū)動(dòng)。
首先安裝 Xvfb. 這是一個(gè)虛擬的幀緩沖,實(shí)現(xiàn)了X11顯示服務(wù)協(xié)議,所有的圖形操作都在內(nèi)存中表現(xiàn),而不需要顯示在 任何屏幕輸出設(shè)備上。這正是我們所需要的。
然后創(chuàng)建一個(gè)虛擬屏幕實(shí)例(Xvfb), 并導(dǎo)出 DISPLAY 變量, 該變量存儲(chǔ)虛擬屏幕的引用. Electron 中的 Chromium 會(huì)自動(dòng)的去尋找 $DISPLAY
,所以你的應(yīng)用不需要再去進(jìn)行配置 這一步可以通過(guò) Paul Betts 的 xvfb-maybe 實(shí)現(xiàn)自動(dòng)化:如果系統(tǒng)需要,在xvfb-maybe
前加上你的測(cè)試命令 然后這個(gè)小工具會(huì)自動(dòng)的設(shè)置 xvfb。 在 Windows 或 macOS ,它不會(huì)執(zhí)行任何東西。
## 在 Windows 或者 macOS,這只是調(diào)用 electron-mocha
## 在 Linux, 如果我們?cè)谝粋€(gè) headless 環(huán)境,這將是等同于
## 執(zhí)行 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下, 有一個(gè)可用的 Xvfb 插件。
CircleCI 很棒,并且已經(jīng)設(shè)置了 Xvfb 和 $DISPLAY
,因此不需要進(jìn)一步的配置。
AppVeyor 運(yùn)行于 Windows 上,支持 Selenium,Chromium,Electron 以及一些類(lèi)似的工具,開(kāi)箱即用,無(wú)需配置
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: