2015-09-29 74 views
1

我在我們的網站的量角器中創建自動化測試。 你必須先登錄才能在網站上做任何事情。 我的問題是,對於特定的測試(規格) - 我可以(有)添加'登錄' - 當前位於頁面對象頁面。 問題是,當創建一個使用多個測試(使用'套件')的完整性測試時 - 我目前必須登錄每個特定的測試,然後註銷結束,以便下一個測試將正常工作(因爲它首先登錄) 。 什麼是正確的做法?一方面,我希望每個測試都能獨立運行(首先登錄) - 但另一方面 - 在完整性測試中使用它時 - 我想在完整性測試期間僅登錄和註銷一次。量角器 - 創建完整性測試,包括登錄

這是該套件的一部分從conf.js文件:

suites:{ 
    sanity: ['*/AccountSettingsTest.js','*/createApptest.js','*/openSourcePageTest.js','*/whatsNewTest.js'] 

}, 

specs: ['*/AccountSettingsTest.js'], 

這是如何我目前使用的登錄:

var LoginPage = require('../global/LoginPage'); 
... 
var login = new LoginPage(); 
... 
login.clickLogin(); 

感謝。

回答

0

恐怕沒有beforeSuite()afterSuite()如果這是你問的問題。這可能爲你工作

的一件事是把「註冊」部分爲onPrepare()

onPrepare: function() { 
    browser.get("myurl"); 
    return loginPage.login(username, password); // login may also return a promise 
}, 
+0

感謝您的回答。這是個好主意。經過一番思考,我決定在每個規範開始時我會檢查我是否登錄,如果沒有,我登錄。順便說一句 - 我發現有'beforeAll'和'afterAll'後茉莉花2.0。 – user2880391

+0

@ user2880391是的,我決定不詳細說明'beforeAll()'和'afterAll()',因爲這隻適用於'describe'。請注意,對於茉莉花1,有一個'jasmine-beforeAll'第三方包。感謝更新。 – alecxe