我在项目中安装了npm噩梦,以便触发网页:
trigger_url: function (url) {
var isSuccessful = false;
var nightmare = Nightmare();
var nightmareResponse = nightmare
.goto(url)
.wait(2000)
.end()
.then(function () {
isSuccessful = true;
}, function () {
isSuccessful = false;
});
return nightmareResponse.then(function () {
return chakram.wait();
});
}
当我启动项目并在本地运行(mocha)测试时(不在docker中),一切正常
但是,当我从Team City触发构建(构建应用程序并在docker内部运行测试)时,构建失败:
Error: spawn /app/node_modules/electron/dist/electron ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn /app/node_modules/electron/dist/electron',
path: '/app/node_modules/electron/dist/electron',
spawnargs: [
'/app/node_modules/nightmare/lib/runner.js',
'{"dock":false,"certificateSubjectName":null}'
]
}
关于潜在根本原因的任何想法,或任何替代的浏览器自动化库,可以避免上述问题?
非常感谢
我有相同/相似的问题。您解决了这个问题吗?
对docker版本是否有最低要求?我正在运行噩梦3.0.2和电子2.0.18的节点13高山。
错误消息:
{“错误”:{“ errno”:-2,“代码”:“ ENOENT”,“系统调用”:“ spawn / node_modules / electron / dist / electron”,“路径”:“ / node_modules / electron / dist /electron","spawnargs":["/node_modules/nightmare/lib/runner.js","{\"dock\":false,\"certificateSubjectName\":null}"]},"level“:”错误“,”消息“:” uncaughtException:生成/ node_modules / electron / dist / electron ENOENT \ n错误:生成/ node_modules / electron / dist / electron ENOENT \ n在Process.ChildProcess._handle.onexit(internal / child_process.js:267 :19)\ n在onErrorNT(内部/child_process.js:467:16)\n在processTicksAndRejections(内部/process/task_queues.js:84:21)“,”堆栈“:”错误:生成/ node_modules / electron / dist / electron ENOENT \ n在Process.ChildProcess._handle.onexit(internal / child_process.js:267:19)\ n在onErrorNT(internal / child_process.js:467:16)\ n在processTicksAndRejections(internal / process / task_queues .js:84:21)“,” exception“:true,” date“:” Sun Apr 12 2020 04:23:44 GMT + 0000(Coordinated Universal Time)“,” process“:{” pid“:1, “ uid”:0,“ gid “:0,” cwd“:” /“,” execPath“:” / usr / local / bin / node“,” version“:” v13.12.0“,” argv“:[” / usr / local / bin / node“,” /“],” memoryUsage“:{” rss“:130351104,” heapTotal“:55664640,” heapUsed“:50569744,” external“:19898189,” arrayBuffers“:18417288}},” os“:{ “ loadavg”:[0.966796875,0.90185546875,0.701171875],“正常运行时间”:125609},“跟踪”:[{“列”:19,“文件”:“ internal / child_process.js”,“功能”:“过程。 ChildProcess._handle.onexit“,” line“:267,” method“:” onexit“,” native“:false},{” column“:16,” file“:” internal / child_process.js“,” function“ :“ onErrorNT”,“ line”:467,“ method”:null,“ native”:false},{“ column”:21,“ file”:“ internal / process / task_queues.js”,“ function”:“ processTicksAndRejections“,” line“:84,” method“:null,” native“:false}]}
谢谢。