【问题标题】:Test context missing in before and after test hook in nightwatch js globalsnightwatch js全局变量中的测试钩子之前和之后缺少测试上下文
【发布时间】:2015-05-21 05:04:35
【问题描述】:

我在每一个测试中都进行了多次设置和拆卸的夜班测试。我正在尝试将它统一到 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 中没有测试上下文。我怎么把它弄到那里?谁能告诉我?

【问题讨论】:

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


    【解决方案1】:

    测试上下文现在不可用。如前所述,它很快就会上市。 虽然它不可用尝试在第一个文件之前使用本地,但它会破解。 您也可以将所有文件导出到一个对象并将其导出到 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

    【讨论】:

      猜你喜欢
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多