如何从一个文件/目录引用内部和外部模块

时间:2017-06-19 10:36:19

标签: typescript protractor

无论如何,我可以将所有参考模块放在内部和外部,并在那里使用它。

import {browser, element, by, By, ElementFinder,ElementArrayFinder} from "protractor";

import {FactoryRegistry} from "./../../../factories/FactoryRegistry";

import {TableActionParams} from "./../../../actionHandlers/Actions";

import {TableActions} from "./../../../actionHandlers/Enums";

let helpers = require("protractor-helpers");
import {FactoryRegistry} from "./../../factories/FactoryRegistry";
import {browser,element,by,By, ElementArrayFinder, ElementFinder} from "protractor";
var fs=require('fs')

var system = require('util')

var exec = require('child_process').exec;

var fs_extra = require('fs-extra');

那么有什么方法可以放置所有这些需求并导出并在我们的脚本中调用它们。

我们正在使用带有打字稿的量角器。

1 个答案:

答案 0 :(得分:0)

是。只需创建一个名为helpers.js的文件或任何您想要的文件。将所有上述require语句添加到该新文件中,然后您只需导出该文件并在测试/配置中将其需要。我没有使用Typescript,所以你的语法可能略有不同。

帮助文件(helper.js):

module.exports = {
    system: require('util'),
    exec: require('child_process').exec,
    fs_extra: require('fs-extra')
};

将帮助程序作为全局包含在配置中,以便可以从测试中访问它们:

onPrepare: function() {
    global.helpers = require('helpers.js');
}

然后在您的规范中,包括您为此特定测试所需的任何内容:

var system = helpers.system

或者,如果您不想通过配置文件执行全局路由。只需将该文件放入您的规格中即可。

var helpers = require('helpers.js');
var system = helpers.system;