我必须使用 Spectron 来测试 Electron 吗?
Do I have to use Spectron to test Electron?
最近我发现使用 Electron 为我们的应用程序规划自动化测试有些困难。我尝试使用 Spectron,它看起来像是测试 Electron 应用程序的官方框架,但是,我发现他们网站上的文档很难理解。
我知道有一些著名的应用程序使用 Electron,例如 Slack、Wordpress 和 Github Desktop。我想知道他们是否真的使用 Spectron 或其他东西作为自动化来测试他们的应用程序。
几乎我只是想弄清楚 Spectron 是否是测试 Electron 的唯一方法。
就端到端测试而言,我认为 Spectron 是最佳选择。起床和 运行 可能非常困难,但 Spectron 是建立在 WebdriverIO 之上的,您会在那里找到很多文档。
为了起床运行宁我会提出以下建议。
npm install spectron mocha --save-dev
我的第一个测试用例。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'));
});
});
然后你运行
mocha my-first-test-case.e2e.js
或者如果你没有全局安装 mocha
node_modules/.bin/mocha my-first-test-case.e2e.js
我曾尝试使用 java 测试 Electron 应用程序一段时间,但由于我的应用程序结构,我又回到了 Spectron。
如果您想使用其他选项(java、phyton 和 selenium)测试您的电子应用程序,您可以为其设置浏览器选项和功能,如下所示。
Java 代码示例:
ChromeOptions options = new ChromeOptions();
options.setBinary(binaryPath);
options.addArguments("--app=" + argPath);
options.setCapability("chromeOptions", options);
driver = new ChromeDriver(options);
最近我发现使用 Electron 为我们的应用程序规划自动化测试有些困难。我尝试使用 Spectron,它看起来像是测试 Electron 应用程序的官方框架,但是,我发现他们网站上的文档很难理解。
我知道有一些著名的应用程序使用 Electron,例如 Slack、Wordpress 和 Github Desktop。我想知道他们是否真的使用 Spectron 或其他东西作为自动化来测试他们的应用程序。
几乎我只是想弄清楚 Spectron 是否是测试 Electron 的唯一方法。
就端到端测试而言,我认为 Spectron 是最佳选择。起床和 运行 可能非常困难,但 Spectron 是建立在 WebdriverIO 之上的,您会在那里找到很多文档。
为了起床运行宁我会提出以下建议。
npm install spectron mocha --save-dev
我的第一个测试用例。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'));
});
});
然后你运行
mocha my-first-test-case.e2e.js
或者如果你没有全局安装 mocha
node_modules/.bin/mocha my-first-test-case.e2e.js
我曾尝试使用 java 测试 Electron 应用程序一段时间,但由于我的应用程序结构,我又回到了 Spectron。 如果您想使用其他选项(java、phyton 和 selenium)测试您的电子应用程序,您可以为其设置浏览器选项和功能,如下所示。
Java 代码示例:
ChromeOptions options = new ChromeOptions();
options.setBinary(binaryPath);
options.addArguments("--app=" + argPath);
options.setCapability("chromeOptions", options);
driver = new ChromeDriver(options);