我们如何使用Puppeteer编写/自动化Electron应用程序?

问题描述 投票:0回答:1

可能吗?某处有指南吗?基本上我想对Electron应用程序进行E2E测试,并编写用户交互脚本,即创建一个在Electron应用程序内部交互的“bot”或“puppet”用户。

javascript automation electron puppeteer e2e-testing
1个回答
0
投票

与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)
© www.soinside.com 2019 - 2024. All rights reserved.