我正在使用Angular 9、Node v14和e2e测试,使用Cucumber、量角器和量角器Cucumber框架。
量角器。conf.js
exports.config = {
// For configuring timeouts see https://www.protractortest.org/#/timeouts
allScriptsTimeout: 31000,
getPageTimeout: 30000,
capabilities: {
'browserName': 'chrome',
'loggingPrefs': {
// 'driver': 'ALL',
// 'server': 'ALL',
'browser': 'ALL'
},
},
directConnect: true,
baseUrl: 'http://localhost:7774/',
framework: 'custom',
// register Cucumber framework so that we can compile .feature files
frameworkPath: require.resolve('protractor-cucumber-framework'),
async onPrepare() {
console.log("Register TypeScript compiler for tests");
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
console.log("Setting waitForAngularEnabled to false");
browser.waitForAngularEnabled(false);
},
// require feature files
specs: [
'./features/**/*.feature'
],
cucumberOpts: {
// For configuration see https://github.com/cucumber/cucumber-js/blob/master/docs/cli.md
require: [
'./pages/**/*.page.ts',
'./steps/**/*.step.ts',
'./support/**/*.ts'
],
tags: "@SystemTest"
}
};
tsconfig。e2e。json
...
"compilerOptions": {
"outDir": "../dist/out-tsc/e2e",
"module": "commonjs",
"sourceMaps": true,
"target": "es6",
"types": [
"chai",
"chai-as-promise",
"node"
]
}
...
发射json
{
"name": "npm run e2e",
"type": "pwa-node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "npm",
"runtimeArgs": ["run-script", "e2e"],
"protocol": "inspector",
"sourceMaps": true
},
package.json
"e2e": "protractor e2e/protractor.conf.js",
我可以在VSCode中启动调试器,但问题是每个断点都是未绑定的断点。
我还尝试在tsconfig中添加“inlineSourceMap”:true
。e2e。json和我也尝试加入launch。json
"resolveSourceMapLocations": [
"${workspaceFolder}/e2e/**",
"!**/node_modules/**"
]
问题似乎是ts节点在内存中生成源映射(这就是为什么我尝试inlineSourceMap
)。有没有办法不使用tsc先编译。ts文件和源映射,然后使用。js文件,但仍然使用ts节点。
我终于成功了。问题是ts节点编译到内存中,而VSCode对源映射一无所知。因此,我首先使用sourcemaps(在一个午餐前任务中)编译了所有内容,然后在调试模式下启动了该过程。而且type:pwa节点
似乎不起作用,您应该使用type:node
。
问题内容: WebStorm中提供了一种运行和调试量角器Web测试的方法。我只想在这里分享这个答案 问题答案: 获取节点路径(在终端中输入) 在WebStorm中:单击“ 编辑配置 ”-“ 运行 ”按钮左侧的下拉菜单(绿色箭头,类似于“播放”按钮) 单击“添加按钮”(绿色 + )以添加新的Node配置。选择“ Node.js ” 填写参数: 节点解释器 :Node.js的完整路径(从步骤1开始)
问题内容: 是否可以像在单元测试中一样在量角器测试中访问angular? 用例是我有一个可以转换文本的服务,并且我想访问该服务以转换实际测试脚本中的某些数据。我知道量角器中有这种方法,但是我不知道如何为此目的使用它。 将不胜感激! 问题答案: 有一个函数称为validate()。在dom中找到一个元素,然后运行表达式。 例如。如果要计算http://angularjs.org/网站(在“添加某些控
我正在使用以下版本的VSCode: 使用Python扩展version。唯一安装的PIP是: 我试图在vscode中调试python测试,在调试控制台中出现以下错误: 测试本身在终端上运行良好。换句话说,找不到“缺失”模块没有问题。例子: 我启动调试器的方式是单击给定测试的链接。例子: 下面是配置: 有人知道我在配置方面缺少什么吗?
问题内容: 我试图只是运行包含在Internet Explorer 上的量角器中的示例测试,并且不会太远:( 我尝试过将浏览器名称更改为“ internet Explorer”和 “ version”:11,并且我已注释掉directConnect(因为它对此有所抱怨 ) 我得到的错误是… WebDriverError:必须通过 webdriver.ie.driver系统属性设置驱动程序可执行文件
问题内容: 今天,我一直在努力处理以下这些量角器代码行: 放在语句后似乎总是失败。 错误输出太模糊: UnknownError:JavaScript错误:等待结果时卸载文档 那么,单击超链接并检查新URL的正确方法是什么? 这是我的测试: 如果我在点击链接之前, 测试将通过。 如果我点击链接后, 上面的输出在Protractor中引发错误。什么地方出了错? 问题答案: 不用调用,而是 等待URL更
问题内容: 我似乎无法通过测试成功获得PhantomJS。我试图将其集成到我的项目中,但是在此之后失败了,我尝试仅运行基本的Angular Docs示例,但遇到了同样的问题。到目前为止,我的步骤: // … GhostDriver-Main-在端口9515上运行 这是与示例中相同的文件,仅具有browserName,并且seleniumAddress端口已更改: 我收到以下错误消息: 我在gith