无法 运行 使用量角器进行端到端测试:无法解析路径?
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'
在这种情况下,您的规范文件的路径可能需要更改以匹配。
我似乎无法 运行 我的 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'
在这种情况下,您的规范文件的路径可能需要更改以匹配。