自动化持续集成系统(CI)测试
编辑教程自动化持续集成系统(CI)测试
Electron 基于 Chromium,所以需要一个显示驱动使其运转。如果 Chromium 无法找到一个显示驱动, ELectron 会启动失败,因此无论你如何去运行它,Electron 不会执行你的任何测试。在 Travis,Circle, Jenkins 或者类似的系统上测试基于Electron的应用时,需要进行一些配置。本质上,我们需要使用一个 虚拟的显示驱动。
配置虚拟显示服务器
首先安装 Xvfb。 这是一个虚拟的帧缓冲,实现了X11显示服务协议,所有的图形操作都在内存中表现,而不需要显示在 任何屏幕输出设备上。这正是我们所需要的。
然后创建一个虚拟的xvfb屏幕并且导出一个指向他的名为 DISPLAY 的环境变量。
Electron 中的 Chromium 会自动的去寻找 $DISPLAY,所以你的应用不需要再去进行配置。
这一步可以通过 Paul Betts 的 xvfb-maybe 实现自动化:如果系统需要,在xvfb-maybe前加上你的测试命令 然后这个小工具会自动的设置 xvfb。在 Windows 或者 macOS 系统下,它不会执行任何东西。
## 在 Windows 或者 macOS,这只是调用 electron-mocha
## 在 Linux, 如果我们在 headless 环境,这将是等同于
## xvfb-run electron-mocha ./test/*.js
xvfb-maybe electron-mocha ./test/*.js
Travis CI
在 Travis 上, 你的 .travis.yml 应该和下面的代码相似:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
Jenkins
Jenkins下, 有一个可用的 Xvfb插件。
Circle CI
Circle CI 是非常棒的而且有xvfb,$DISPLAY 也 已经搭建,所以不需要再进行设置。
AppVeyor
AppVeyor 运行于 Windows 上,支持 Selenium,Chromium,Electron 以及一些类似的工具,开箱即用,无需配置。
Mos固件,小电视必刷固件
ES6 教程
Vue.js 教程
JSON 教程
jQuery 教程
HTML 教程
HTML 5 教程
CSS 教程
CSS3 教程
JavaScript 教程
DHTML 教程
JSON在线格式化工具
JS在线运行
JSON解析格式化
jsfiddle中国国内版本
JS代码在线运行
PHP代码在线运行
Java代码在线运行
C语言代码在线运行
C++代码在线运行
Python代码在线运行
Go语言代码在线运行
C#代码在线运行
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。
大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
![](http://cdns.jsrun.net/avatar/default.png)
选择支付方式:
![支付宝](/res/css/img/alipay.png)
![微信](/res/css/img/wxpay.png)
立即支付
![支付宝](/res/css/img/alipay.png)
¥
9.99
无法付款,请点击这里
金额: 0 元
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟