Мой Spectron app.client не содержит всех методов - PullRequest
0 голосов
/ 04 августа 2020

Я пытаюсь протестировать свое электронное приложение, используя спектрон и мокко, вот мой файл '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, !');
    });

});

Мой первый тест пройден, но для второго я хотел бы щелкнуть элемент, но мой app.client не содержит методов .click , а также без getText или get HTML. Я пытался импортировать браузер из webdriverio, но это была та же проблема, при тестировании я получаю сообщение об ошибке, в котором говорится, что этих методов не существует. Я прочитал документацию к Spectron, и они регулярно используют методы .click и .getText, почему я их не получаю? Я импортировал Spectron, как сказано в документации к.

Спасибо.

1 Ответ

0 голосов
/ 05 августа 2020

Некоторое время я боролся с той же проблемой. После долгих проб и ошибок я изменил свои методы asyn c на обычные функции.

it('Clicks on the project creation button', function() {
   app.client.waitUntilWindowLoaded();
   const title = await app.client.
   console.log(title);
   return assert.equal(title, 'Welcome to GULP, !');
});

Странно, но у меня это сработало. надеюсь, это поможет.

...