2016-11-24 4 views
1

AngularJSアプリケーションをテストするための分度器とジャスミンフレームワークが新しくなりました。共有動作Jasmine + Protractor

私のシナリオのいくつかを再利用したいのですが、ログイン機能は私のスイートのすべてのシナリオで呼び出すことができます。 は、これは私がremote_terminal機能を持っている私のlogin_test.js

module.exports = function(testName, testFn) { 
 

 
    const loginPage = pages.login; 
 
    const mainPage = pages.main; 
 
    var protractor; 
 
    describe('common Login suite', function() { 
 
    browser.ignoreSynchronization = true; 
 

 
    beforeEach(function() { 
 

 
    }); 
 

 
    afterAll(function() { 
 
     browser.manage().deleteAllCookies(); 
 
    }); 
 

 
    it(testName, function() { 
 
     browser.get('http://localhost:9000/'); 
 
     loginPage.typeUserName('bxxxxx'); 
 
     loginPage.typePassword('xxxxxx'); 
 
     loginPage.clickLogin(); 
 
    }); 
 
    }); 
 

 
}

そしてここで、ここで私は私のシナリオでログインをperfomするログイン機能を呼び出す必要があります。

var loginSuite = require('./login_test.js'); 
 

 
loginSuite('login Suite terminal feature', function(browser) { 
 
    describe('description', function() { 
 
    console.log('describe'); 
 
    it('it', function() { 
 
     console.log('it'); 
 
    }); 
 
    }); 
 
});

しかし、この仕様(remote_terminalは)私は

が スペックは を開始し始め、私のコンソールにこのメッセージを持って実行するために呼び出されたとき。 共通のログインスイート ✓ログインスイートの端末機能

説明から分かるように、remote_terminalの仕様およびITは実行されません。

デモ: http://pavelbogomolenko.github.io/dry-principles-with-protractor.html

答えて

0

あなたは、あなたのテストaccross再利用可能なコードを達成するためにpageObjectsを使用することができ、

は、私たちは、以下のようにlogin_page.jsよう

var login_page = function(){ 
    this.performLogin = function(){ 
    //add code for performing login operation. 
    } 
} 
module.exports = new login_page(); 

をログインページ用の新しいJSファイルを作成してみましょう。これですべての 'specs'にlogin_page.jsをインポートでき、必要に応じていつでもperformLogin()メソッドを呼び出すことができます。例を見ては、下記のspec.js

describe("Test pageobject code",function(){ 
    var login_page = require("login_page.js"); 

    beforeAll(function(){ 
    login_page.performLogin(); 
    }) 

    it("simple test to perform after login action is performed",function() 
    //do whatever you want to test 
    }) 
}) 
関連する問題