nightmare.js在TeamCity上失败(生成/ app / node_modules / electron / dist / electron)

问题描述 投票:0回答:1

我在项目中安装了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}'
   ]
}

关于潜在根本原因的任何想法,或任何替代的浏览器自动化库,可以避免上述问题?

非常感谢

mocha teamcity ui-automation nightmare
1个回答
0
投票

我有相同/相似的问题。您解决了这个问题吗?

对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}]}

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.