无法用量角器运行e2e测试:无法解析路径?

时间:2017-07-10 22:17:23

标签: selenium jasmine protractor e2e-testing ts-node

我似乎无法用量角器运行我的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 } }));
  }
};

我尝试使用项目参数下的路径愚弄,但没有运气解决问题。我的项目结构设置如下:

proj structure

有什么建议吗?我应该在github上发布这个问题吗?到ts节点?还是量角器?任何建议,将不胜感激。如果您还需要其他背景信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

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

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

但是从您的目录结构中可以清楚地看出它不在那里。给出spec文件的路径,我想这行应该是:

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

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

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

在这种情况下,spec文件的路径可能需要更改才能匹配。