2015-09-29 34 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