问题 如何在Angularjs Protractor中使用全局函数?


我有大约20个spec文件,其中大多数使用相同的函数重复。我可以将全局函数放在每个spec文件可以使用的conf.js文件中吗?我读了这个页面 http://stackoverflow.com/questions/21320400/protractor-angularjs-global-variables,但它不是很有帮助,我不能让它工作。我尝试过放入一个函数 onPrepare,但spec文件找不到它。我也尝试过 global.viewByAds = function () {...}; 

如果有人能帮助我,我真的很感激!


3231
2018-04-11 14:55


起源



答案:


你可以简单地添加一个js文件并使用require

helper.js:

module.exports = {
  foo: 'bar',
  doSomething: function () {
    return 1+1;
  }
};

在您的规格中:

//require helper.js at specs
var helper = require('./helper.js');
helper.doSomething()

10
2018-04-11 15:03



非常感谢你的帮助,但我似乎无法让它发挥作用。我在同一个目录中创建了一个文件 helper.js 并添加了 var helper = require('helper'); 行到我的spec文件,但它说它找不到帮助器模块。有任何想法吗? - Brendan
没关系,我猜它必须在node_modules文件夹中 - Brendan
@Brendan试试require('../ helper');如果你不想要那里。取决于你如何设置你的项目...... - nilsK
好的,谢谢,我会试试 - Brendan
我不得不使用require(“../ helper.js.coffee”)但这可能只是一个coffeescript的事情。 - map7


答案:


你可以简单地添加一个js文件并使用require

helper.js:

module.exports = {
  foo: 'bar',
  doSomething: function () {
    return 1+1;
  }
};

在您的规格中:

//require helper.js at specs
var helper = require('./helper.js');
helper.doSomething()

10
2018-04-11 15:03



非常感谢你的帮助,但我似乎无法让它发挥作用。我在同一个目录中创建了一个文件 helper.js 并添加了 var helper = require('helper'); 行到我的spec文件,但它说它找不到帮助器模块。有任何想法吗? - Brendan
没关系,我猜它必须在node_modules文件夹中 - Brendan
@Brendan试试require('../ helper');如果你不想要那里。取决于你如何设置你的项目...... - nilsK
好的,谢谢,我会试试 - Brendan
我不得不使用require(“../ helper.js.coffee”)但这可能只是一个coffeescript的事情。 - map7