所以我现在正在使用Nightwatch.js在网络平台上运行一些测试。我们有配备Saucelabs的夜视仪,因此我们可以同时运行多个测试并查看每个测试的录音。但是,我们的测试用例分为多个文件,而不是单个文件中的多个步骤。
由于酱料实验室不喜欢在一个浏览器会话中运行多个文件,我们不得不做一些黑客攻击:
extend = function(target) {
var sources = [].slice.call(arguments, 1);
sources.forEach(function (source) {
for (var prop in source) {
target[prop] = source[prop];
}
});
return target;
}
require("./login.spec.js");
module.exports = extend(module.exports,login);
require("./getCustomLink.js");
module.exports = extend(module.exports,getCustLink);
基本上,您使用'require'和文件路径进行测试,并将其添加到您当前的测试模块中。因此,如果测试没有以“browser.end()”结尾,那么它将继续以指定的顺序运行测试。我的问题是:对于不同的情况,我将使用不同的测试用例顺序来处理这些类型的文件的倍数。我究竟如何为此添加'@tags',以便我可以在运行时调用标记:
npm test --tags @tagHere
它只会运行主文件和我指定的测试顺序吗?