我是否必须使用Spectron测试Electron?

Zoe*_* Li 6 javascript testing automation electron spectron

最近我发现使用Electron为我们的应用程序规划自动化测试存在一些困难.我试过使用Spectron,它看起来像是测试Electron应用程序的官方框架,然而,我发现他们的网站上很难理解文档.

我知道有一些着名的应用程序使用Electron,例如Slack,Wordpress和Github Desktop.我想知道他们是否真的使用Spectron或其他东西作为自动化测试他们的应用程序.

我只是想知道Spectron是否是测试Electron的唯一方法.

kon*_*ten 7

在端到端测试方面,我会说Spectron是最佳选择.启动和运行起来非常困难,但Spectron建立在WebdriverIO之上,你会发现很多文档.

为了启动和运行,我建议如下.

npm install spectron mocha --save-dev

我先试case.e2e.js

const electron = require('electron');

describe('my first test case', function () {

  beforeEach(() => {
    this.app = new Application({
      path: electron,
      args: ['.'],
    });

    return this.app.start();
  });

  afterEach(() => {
    if (this.app && this.app.isRunning()) {
      return this.app.stop();
    }
  });

  it('creates a new tab when account is added', function () {
    const accountName = 'awesomeMail';

    return this.app.client.waitUntilWindowLoaded()
      .waitForVisible('h1')
      .getText('h1')
      .then(text => expect(text).toEqual('Welcome'));
  });
});
Run Code Online (Sandbox Code Playgroud)

然后你跑了

mocha my-first-test-case.e2e.js

或者,如果您没有全局安装mocha

node_modules/.bin/mocha my-first-test-case.e2e.js