2017-08-17 11 views
3

最近私はElectronを使用してアプリケーションの自動テストを計画するのが難しいことを発見しました。私はSpectronを使用しようとしましたが、Electronアプリケーションをテストする正式なフレームワークのように見えますが、ドキュメントはWebサイトでは分かりにくいことがわかりました。ElectronをテストするためにSpectronを使用する必要がありますか?

電子を使った有名なアプリがあることは知っています。例えば、スラック、Wordpress、Githubデスクトップです。彼らが実際にSpectronや他の何かを自分のアプリをテストするためのオートメーションとして使っているのだろうか。

私は、SpectronがElectronをテストする唯一の方法であるかどうかは分かりません。

答えて

2

エンドツーエンドのテストでは、私は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(); 
    } 
    return undefined; 
    }); 

    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

を実行したり、あなたが持っていけない場合モカがグローバルにインストール

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

+0

私はwaitUntilWindowLoaded()、waitForVisible()、getText()などの関数のドキュメントをwebdriverIOドキュメントに入れているとしますか? –

+1

'waitUntilWindowLoaded'はSpectron APIの一部ですが、' waitForVisible'と 'getText'はWebdriverIOです – kontrollanten

関連する問題