本节我们来学习如何在 Electron
下使用 Selenium
和 WebDriver
。
Selenium
Selenium
是 ThoughtWorks
提供的一个强大的基于浏览器的开源自动化测试工具。
Selenium
是一个用于 Web
应用程序测试的工具,测试直接自动运行在浏览器中,就像真正的用户在手工操作一样。支持的浏览器包括 IE
、Chrome
Opera
、Firefox
等。这个工具的主要功能包括:
- 测试与浏览器的兼容性,测试应用程序是否能够很好地工作在不同浏览器和操作系统之上。
- 测试系统功能,创建回归测试检验软件功能和用户需求。
- 支持自动录制动作和自动生成
.NET
、Perl
、Python
、Ruby
和Java
等不同语言的测试脚本。
Selenium
测试直接在浏览器中运行,就像真实用户所做的一样。Selenium
测试可以在 Windows
、Linux
和 Macintosh
上的 Internet Explorer
、Chrome
和 Firefox
中运行。其他测试工具都不能覆盖如此多的平台。
WebDriver
WebDriver
是一款开源的支持多浏览器的自动化测试工具。 它提供了操作网页、用户输入、JavaScript
执行等能力。 ChromeDriver
是一个实现了 WebDriver
与 Chromium
联接协议的独立服务。 它也是由开发了 Chromium
和 WebDriver
的团队开发的。
配置Spectron
Spectron
是 Electron
官方支持的 ChromeDriver
测试框架。 它是建立在 WebdriverIO
的顶层,并且帮助我们会在测试中访问 Electron API
和绑定 ChromeDriver
。
spectron
的安装命令如下所示:
$ npm install --save-dev spectron
示例:
下述代码用于测试验证是否打开了一个带标题的可视窗口:
const Application = require('spectron').Application
const assert = require('assert')
const myApp = new Application({
path: '/Applications/MyApp.app/Contents/MacOS/MyApp'
})
const verifyWindowIsVisibleWithTitle = async (app) => {
await app.start()
try {
// 检查窗口是否可见
const isVisible = await app