无法 运行 使用量角器进行端到端测试:无法解析路径?

Cannot run e2e tests with protractor: cannot resolve path?

我似乎无法 运行 我的 e2e 测试用量角器。在我开始之前先了解一些背景信息:

Node: 7.7.4
NPM:  4.1.2.
Angular: 4.1.0
Protractor: 5.1.2

在我 运行 npm install protractor 之后,我安装并更新了网络驱动程序并获得了 IE 更新。在我编写了我的第一个测试后——一个简单的测试来获取我登录页面上 h1 标签的文本——我尝试 运行 量角器并得到一个错误:Error: Cannot find module ‘ts-node’ 所以我去安装了它。现在,当我重新 运行 量角器时,出现一个我无法解决的神秘错误:the specified path does not exist: e2e/tsconfig.e2e.json。这是什么意思?我的量角器 conf.js 文件如下所示:

// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts

const { SpecReporter } = require('jasmine-spec-reporter');

exports.config = {
  allScriptsTimeout: 11000,
  specs: [ //path of specs is relative to location of protractor.conf.js file. 
    './e2e/**/*.e2e-spec.ts'
  ],
  capabilities: {
      //'browserName': 'chrome' ---default
      'browserName': 'internet explorer',
      'platform': 'ANY',
      'version': '11'
  },
  directConnect: true,
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  },
  beforeLaunch: function() {
    require('ts-node').register({
      project: 'e2e/tsconfig.e2e.json'
    });
  },
  onPrepare() {
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

我试过在项目参数下弄乱路径,但没有成功解决问题。我的项目结构是这样设置的:

有什么建议吗?我应该 post 这作为 github 上的一个问题吗?到 ts-node?还是量角器?任何建议,将不胜感激。如果您还需要其他上下文,请告诉我。

这意味着它正在尝试找到 tsconfig.e2e.json(您的 'e2e' 项目的 typescript 配置文件)但找不到。这部分配置显示了它正在寻找的路径:

beforeLaunch: function() {
    require('ts-node').register({
      project: 'e2e/tsconfig.e2e.json'
    });
  },

但是从您的目录结构可以清楚地看出它不存在。鉴于您的规范文件的路径,我想该行应该是:

project: './e2e/tsconfig.e2e.json'

虽然看看你的项目结构,它很可能是:

project: './app/e2e/tsconfig.e2e.json'

在这种情况下,您的规范文件的路径可能需要更改以匹配。