我们如何使用Puppeteer编写/自动化Electron应用程序?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们如何使用Puppeteer编写/自动化Electron应用程序?相关的知识,希望对你有一定的参考价值。
可能吗?某处有指南吗?基本上我想对Electron应用程序进行E2E测试,并编写用户交互脚本,即创建一个在Electron应用程序内部交互的“bot”或“puppet”用户。
答案
与puppeteer无关,但Electron有光谱,它允许你使用镀铬驱动器测试电子应用程序,前往他们的home page.和api doc。
Spectron建立在ChromeDriver和WebDriverIO之上。因此,如果您已经在使用puppeteer,那么语法和用法会让您感到熟悉。
Quick Start Spectron
命令让你快速入门,
mkdir electron-test && cd electron-test
git clone https://github.com/electron/electron-quick-start
yarn init -y
yarn add -D spectron mocha
所以,我们在该文件夹中有spectron,mocha和quickstart文件。现在让我们在test/spec.js
路径上创建一些规范。
const Application = require("spectron").Application;
const assert = require("assert");
describe("Verify a visible window is opened with a title", function() {
before(async function() {
this.app = new Application({
// your app or electron executable path
path: "node_modules/electron/dist/electron",
// path to main.js file location
args: ["electron-quick-start/"]
});
await this.app.start();
});
after(async function() {
this.app.stop();
});
it("is visible", async function() {
const isVisible = await this.app.browserWindow.isVisible();
assert.equal(isVisible, true);
});
it("gets the title", async function() {
const title = await this.app.client.getTitle();
assert.equal(title, "Hello World!");
});
});
我们来吧,
➜ electron-test ./node_modules/.bin/mocha
Verify a visible window is opened with a title
✓ is visible
✓ gets the title
2 passing (665ms)
以上是关于我们如何使用Puppeteer编写/自动化Electron应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
使用CucumberJS / Puppeteer,如何使用多个场景扩展Page对象?
基于Puppeteer前端自动化框架PO模式,断言(如何更简便逻辑的写测试代码)
如何从 Puppeteer 将文本输入到 Flash TextArea 中?