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 上, 你的 .travis.yml
应该和下面的代码相似:
addons:
apt:
packages:
- xvfb
install:
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
Jenkins下, 有一个可用的 Xvfb插件。
Circle CI 是非常棒的而且有xvfb,$DISPLAY
也 已经搭建,所以不需要再进行设置。
AppVeyor 运行于 Windows 上,支持 Selenium,Chromium,Electron 以及一些类似的工具,开箱即用,无需配置。
powerSaveBlocker模块是用来阻止应用系统进入睡眠模式的,因此这允许应用保持系统和屏幕继续工作.例如:const powerSaveBlocker =...
Chrome 开发工具指南谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。开发者工具允许网页开发者深入浏览...
Tableau中的重要过滤选项之一是对已存在的过滤器应用一些条件。 这些条件可以非常简单,例如只找到高于一定数量的销售,或者它可...
介绍DateChooser控件用于显示月份的名称,年份和月份的网格,其中列标有星期几。DateChooser控件允许用户选择日期,日期范围或多...
Command + F9 编译ProjectCommand + Shift + F9 编译选择的文件、包或模块Control + Option + R 弹出 Run 的可...
Eclipse Java 构建路径设置 Java 构建路径Java构建路径用于在编译Java项目时找到依赖的类,包括以下几项:源码包项目相关的 jar ...
Eclipse 窗口说明 Eclipse 工作台(Workbench) 首先,让我们来看一下Eclipse 作台用户界面,和它里面的各种组件。工作台是多个窗...