量角器测试无法识别protractor.conf.js中的onPrepare方法中定义的全局变量

时间:2018-11-30 00:26:50

标签: protractor global-variables global e2e-testing

我已经在我的protractor.conf.js文件中定义了一个全局变量,如下所示:

onPrepare() {
    global.EC = protractor.ExpectedConditions;
}

我正在尝试像这样在量角器测试中访问此变量:

navigateTo(url: string): LoginPage {
    browser.get(url);    
    browser.wait(EC.urlIs(url), 2000);
    return this;
}

但是,我的规范无法识别EC。输出日志以及VS Code智能提示说

  

找不到名称EC。

1 个答案:

答案 0 :(得分:0)

我还没有检查过通过量角器的配置公开全局变量的方式是否存在差异,但是我使用它的方式以及它在我们的测试套件中运行良好的方式就像这样

Pile

所以我不使用“全局”,而是直接公开并像这样使用它:

 onPrepare: () => {
  EC = protractor.ExpectedConditions;

  DEFAULT_TIMEOUT = browser.params['timeout'];
  if (!DEFAULT_TIMEOUT) {
    DEFAULT_TIMEOUT = 60000;
  }

  chai = require('chai');
  chaiAsPromised = require('chai-as-promised');
  chai.use(chaiAsPromised);
  expect = chai.expect;
  ...
}