使用全局变量Dalek JS

时间:2014-03-24 12:17:37

标签: javascript node.js dalekjs

首先,这里有很好的测试工具,因为我大量使用硒。这可能是基本的,但对javascript和node.js来说是新的。

我希望能够在我的脚本中使用全局变量,但是我很难这样做

我有一个名为变量的文件与我的test.js脚本处于同一级别,在本例中我将google分配给变量url,但是在运行测试时无法加载。

require('variables.js');

module.exports = {
'Log into Traceiq': function (test) {
 test
 .open(url)
 .done();
}
};

然后我尝试了这个并且测试开始运行但在开始阶段挂起

require('./variables');

module.exports = {
'open Google': function (test) {
 test
  .open(url)
  .done();
}
}; 

这是控制台中的输出

 Running tests
 Running Browser: Google Chrome
 OS: Linux 3.5.0-45-generic x86_64
 Browser Version: 31.0.1650.63
 >> WARNING: done not called!

 RUNNING TEST - "Open Google"
✔ 0 Assertions run
✔ TEST - "Open Google" SUCCEEDED

是否有一些盲目明显的东西我在这里做错了?

任何帮助表示赞赏

由于

2 个答案:

答案 0 :(得分:0)

看起来好像是我的部分用户错误坚果会发布答案只是因为它可以帮助别人。在Node.js中设置变量与典型的客户端Javascript不同。

所以我在哪里设置

var url = "www.google.co.uk"

我需要设置

global.url = "www.google.co.uk"

答案 1 :(得分:0)

Node.js处理“导入”文件,其要求与我们在browserland中使用的文件不同。这篇SO帖子很好地概述了“如何”和& “为什么”:

What is the purpose of Node.js module.exports and how do you use it?

如果您正在寻找DalekJS如何保持测试DRY&模块化,查看此存储库https://github.com/asciidisco/jsdays-workshop/tree/8-dry我参加了一个研讨会。更具体地说,这些文件特别是:

https://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/form2.js https://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/configuration.js https://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/formHelper.js https://github.com/asciidisco/jsdays-workshop/blob/8-dry/test/dalek/functions/selectors.js

希望有所帮助。