Spectron と mocha を使用して電子アプリをテストしようとしています。これが私のテストを含むファイル「first.js」です。
const assert = require('assert');
const path = require('path');
const {Application} = require('spectron');
const electronPath = require('electron');
describe('GULP Tests', function () {
this.timeout(30000)
const app = new Application({
path: electronPath,
args: [path.join(__dirname, '..', 'main.js')]
});
//Start the electron app before each test
before(() => {
return app.start();
});
//Stop the electron app after completion of each test
after(() => {
if (app && app.isRunning()) {
return app.stop();
}
});
it('Is window opened', async () => {
const count = await app.client.getWindowCount();
return assert.equal(count, 1);
});
it('Clicks on the project creation button', async () => {
await app.client.waitUntilWindowLoaded();
const title = await app.client.
console.log(title);
return assert.equal(title, 'Welcome to GULP, !');
});
});
最初のテストは合格ですが、2 番目のテストでは要素をクリックしたいのですが、app.client には .click メソッドが含まれておらず、getText や getHTML も含まれていません。webdriverio からブラウザーをインポートしようとしましたが、同じ問題でした。テスト時に、これらのメソッドが存在しないというエラーが表示されます。スペクトロンのドキュメントを読み直しましたが、定期的に .click および .getText メソッドを使用しています。なぜ取得しないのですか? ドキュメントに記載されているように、スペクトロンをインポートしました。
ありがとう。