量角器测试 - 如何定义导入和consts一次而不是在每个测试规范文件中重复它们?

时间:2018-06-08 07:20:49

标签: typescript protractor

我正在尝试使用Page Object Model模式准备端到端测试。我使用Protractor在TypeScript中编写测试。

我注意到每个测试规范文件的前几行看起来非常相似:

// repeated in almost every test spec file
import { protractor, browser, element, by, promise } from 'protractor';
const EC = protractor.ExpectedConditions;
const until = protractor.until;

// this is changing from test to test
const SomePage = require('./pages/99-SomePage');

// code with `describe` and `it`

是否可以不重复importsconst

我尝试require分隔包含它们的文件,但似乎它们不包含在我的文件中。也不能将Export修饰符包含到import

1 个答案:

答案 0 :(得分:2)

cucumber.conf 文件中,您可以使用 onPrepare()函数将这些依赖项添加到节点全局对象,可以随处访问。 我只建议EC和其他经常性依赖项,而不是页面对象。我使用这样的东西:

...,
 onPrepare: function(){

    global.EC = protractor.ExpectedConditions;
    globar.until = protractor.until;

    var Logger = require('./Logger.js');
    global.logger = new Logger();

    global.data = require('./test.data.json');
 },
...