我似乎无法用量角器运行我的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 } }));
}
};
我尝试使用项目参数下的路径愚弄,但没有运气解决问题。我的项目结构设置如下:
有什么建议吗?我应该在github上发布这个问题吗?到ts节点?还是量角器?任何建议,将不胜感激。如果您还需要其他背景信息,请与我们联系。
答案 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文件的路径可能需要更改才能匹配。