【发布时间】:2016-06-27 13:43:55
【问题描述】:
我在一个套件中有一组测试,我想跨多个页面对象运行。我尝试构建一个如下所示的测试对象,但它只运行第一个。
module.exports = {
'test1': {
before: function() { console.log('before1'); },
'test 1a': function() { console.log('test1a'); }
},
'test2': {
before: function() { console.log('before2'); },
'test 1a': function() { console.log('test2a'); }
}
};
是否可以在一个测试套件中进行这种嵌套?我想要实现的实际用例是这样的:
['page1', 'page2'].forEach(page => {
this[`Do something on ${page}`] = {
before: client => {
client.page[page].navigate();
},
'it does something': client => {
client.page[page]().expect.section('@element').visible;
}
}
我想构建在许多“页面”对象上运行相同测试的动态测试套件。
更新:我真的想继续使用 Nightwatch 跑步者,而不是使用像 Mocha 这样确实具有此功能的其他跑步者。
【问题讨论】:
-
我认为这不是好的设计,我们应该分开测试用例,制作它。在我所做的任何测试用例中,它们在之前/之后都需要很多页面对象(测试后的前提条件和清理内容)。所以最好让它尽可能简单
标签: nightwatch.js