在nightwatch js globals中测试钩子之前和之后缺少测试上下文

时间:2015-03-18 12:07:00

标签: javascript node.js selenium globals nightwatch.js

我在每次测试中都有多次夜视测试,包括设置和拆卸。我试图将它统一到之前的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中没有测试上下文。我怎么去那里?有人可以告诉我吗?

1 个答案:

答案 0 :(得分:0)

现在测试环境不可用。如上所述,它很快就会上市。 虽然它不可用但尝试在第一个文件之前使用本地,但它破解。 您还可以将所有文件导出到一个对象中并将其导出到夜视仪中,但之后您可以及时使用本地文件。 例如:



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