nightwatchjs全局中的测试挂钩前后缺少测试上下文



我有多个夜班测试,每个测试都有设置和拆卸。我试图在before-after中将其统一为globalModule.js(在nightwatch.json中的globals_path中设置的路径)

//globalModule.js    
before:function(test, callback){
// do something with test object 
}
//sampletest.js
before: function(test){
 ..
 },
'testing':function(test){
 ....
 }

我的问题是测试上下文在globalsModule.js中不可用。我如何获得它?有人能告诉我吗?

测试上下文现在不可用。正如beatfactor所说,它很快就会上市。虽然它不可用,尝试在第一个文件之前使用本地,但它破解了。此外,你可以将所有文件导出到一个对象中,并将其导出到nightwatch中,但之后你可以及时使用本地文件。例如:

var tests = {};
var befores = [];
var fs =require('fs');
var requireDir = require('require-dir');
var dirs = fs.readdirSync('build');
//if you have dirs that should exclude
var usefull = dirs.filter(function(item){
    return !(item=='data')
});
usefull.forEach(function(item){
    var dirObj = requireDir('../build/' + item);
    for(key in dirObj){
        if(dirObj.hasOwnProperty(key))
        for(testMethod in dirObj[key])
            if(dirObj[key].hasOwnProperty(testMethod))
                if(testMethod == 'before')
                    befores.push(dirObj[key][testMethod]);
                else
                    tests[testMethod] = dirObj[key][testMethod];
    }
});
tests.before = function(browser){
    //some global before actions here
    //...
    befores.forEach(function(item){
        item.call(tests,browser);
    });
};
module.exports = tests;

有关详细信息https://github.com/beatfactor/nightwatch/issues/388

最新更新