以下是我的globals.js
,它位于root/lib
目录。
module.exports = {
beforeEach: function (browser) {
browser.init();
browser.login('admin');
},
afterEach: function (browser) {
browser.logout();
browser.end();
},
}
下面是我的测试文件,位于root / test
中var util = require('../../lib/globals.js');
module.exports = {
'user login': function (browser)
{
// verify login, then logout
headerPage.verifyAuthentication();
browser.logout();
browser.end();
}
};
但测试根本没有beforeEach
和afterEach
。我希望在每次测试之前和之后运行这两个,而不是将这些函数放在每个测试文件中,因为将有超过100个测试文件。
根据客户的说明,我现在无法使用mocha
或grunt
。请让我知道我在这里缺少什么?
答案 0 :(得分:4)
尝试下一个片段:
globals.js
module.exports = function(options) {
return Object.assign({}, options || {}, {
beforeEach(browser) {
// common
browser.init();
browser.login('admin');
// custom
if (options.beforeEach) {
options.beforeEach.apply(this, arguments);
}
},
afterEach() {
// custom
if (options.afterEach) {
options.afterEach.apply(this, arguments);
}
// common
browser.logout();
browser.end();
}
});
}
测试文件
var module = require('../../lib/globals.js');
module.exports = module({
'user login': function (browser) {
// verify login, then logout
headerPage.verifyAuthentication();
browser.logout();
browser.end();
}
});
我没有运行该代码(我们使用修改版本),但想法是 - 从全局模块和具体测试中收集所有beforeEach
/ afterEach
(可能需要改变普通/定制零件的订单)