【问题标题】:Error: spawn UNKNOWN错误:产生未知
【发布时间】:2015-08-27 12:04:12
【问题描述】:

我正在尝试按照https://docs.angularjs.org/tutorial 的教程进行操作,但运行命令时出错

npm run protractor

这是控制台日志:

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft 公司。保留所有权利。

C:\GIT\angular-practices\angular-phonecat>npm 运行量角器

angular-phonecat@0.0.0 量角器 C:\GIT\angular-practices\angular-phonecat npm run update-webdriver

angular-phonecat@0.0.0 preupdate-webdriver C:\GIT\angular-practices\angular-phonecat npm 安装

angular-phonecat@0.0.0 安装后 C:\GIT\angular-practices\angular-phonecat 凉亭安装

angular-phonecat@0.0.0 update-webdriver C:\GIT\angular-practices\angular-phonecat webdriver-manager 更新

selenium 独立版是最新的。 chromedriver 是最新的。

angular-phonecat@0.0.0 量角器 C:\GIT\angular-practices\angular-phonecat 量角器测试/protractor-conf.js

util.puts:使用console.log 直接使用ChromeDriver... 错误:产生未知 在exports._errnoException (util.js:746:11) 在 ChildProcess.spawn (child_process.js:1162:11) 在exports.spawn (child_process.js:995:9) 在 C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\remote\index.js:173:23 在 C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\goog\base.js:1243:15 在 [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\prom ise.js:1539:20) 在通知 (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:362:12) 在 [object Object].then (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:414:7) 在 Object.webdriver.promise.when (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:639:18) 在 C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\remote\index.js:172:20 ==== 异步任务 ==== WebDriver.createSession() 在 Function.webdriver.WebDriver.acquireSession_ (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:131:49) 在 Function.webdriver.WebDriver.createSession (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:111:30) 在 Object.createDriver (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\selenium-webdriver\chrome.js:460:30) 在 ChromeDriverProvider.getDriver (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\lib\driverProviders\chrome.js:67:27) 在 C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\lib\runner.js:221:35 在 _fulfilled (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:797:54) 在 self.promiseDispatch.done (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:826:30) 在 Promise.promise.promiseDispatch (C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:759:13) 在 C:\GIT\angular-practices\angular-phonecat\node_modules\protractor\node_modules\q\q.js:525:49

你能告诉我问题出在哪里吗?

这是我的量角器 conf.js:

exports.config = {
  allScriptsTimeout: 11000,

  specs: [
    'e2e/*.js'
  ],

  capabilities: {
    'browserName': 'chrome'
  },

  chromeOnly: true,

  baseUrl: 'http://localhost:8000/',

  framework: 'jasmine',

  jasmineNodeOpts: {
    defaultTimeoutInterval: 30000
  }
};

【问题讨论】:

  • 你能把你的量角器 conf.js 文件贴出来

标签: angularjs npm protractor


【解决方案1】:

在您的 conf.js 文件中更改为 chromeOnly: false

exports.config = {
  allScriptsTimeout: 11000,

  specs: [
    'e2e/*.js'
  ],

  capabilities: {
    'browserName': 'chrome'
  },

  chromeOnly: false,

  baseUrl: 'http://localhost:8000/',

  framework: 'jasmine',

  jasmineNodeOpts: {
    defaultTimeoutInterval: 30000
  }
};

你可以在这里找到类似的问题#176

【讨论】:

  • 你好,我完成了docs.angularjs.org/tutorial 中的确切步骤。我能够成功运行npm run protractor' 命令。我想你一定错过了一两个步骤。您是否从根文件夹运行 npm start 命令来安装 npm 包?我将更新我的答案中的步骤。让我知道你是否做了确切的事情?
  • 嗨,我将更改重置为步骤 3,执行 git checkout -f step-3。然后我运行: npm install; npm 运行更新网络驱动程序; npm 运行量角器
【解决方案2】:

对于那些使用 Mac 并收到此错误的用户,以下未解决的问题可能会导致此问题:https://github.com/angular/webdriver-manager/issues/476

解决方案由 ciekawy 提供。 在

node_modules/webdriver-manager/built/lib/files/file_manager.js

node_modules/protractor/webdriver-manager/built/lib/files/file_manager.js

在第 166 行添加以下代码:

fileUrl.url = fileUrl.url.replace(/_m1/, '');

然后,您需要更新 chrome 驱动程序以获取更改。如果使用 NRWL 的 NX monorepo 管理工具:

npx webdriver-manager clean
npx webdriver-manager update --gecko=false --versions.chrome=<version from chrome://versions>

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 2019-10-07
    • 2014-01-31
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    相关资源
    最近更新 更多