[英]Error: spawn UNKNOWN
我正在嘗試按照https://docs.angularjs.org/tutorial 上的教程進行操作,但運行命令時出錯
npm run protractor
這是控制台日志:
Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。 版權所有。
C:\\GIT\\angular-practices\\angular-phonecat>npm 運行量角器
angular-phonecat@0.0.0 preprotractor C:\\GIT\\angular-practices\\angular-phonecat npm run update-webdriver
angular-phonecat@0.0.0 preupdate-webdriver C:\\GIT\\angular-practices\\angular-phonecat npm install
angular-phonecat@0.0.0 postinstall C:\\GIT\\angular-practices\\angular-phonecat bower install
angular-phonecat@0.0.0 update-webdriver C:\\GIT\\angular-practices\\angular-phonecat webdriver-manager 更新
Selenium Standalone 是最新的。 chromedriver 是最新的。
angular-phonecat@0.0.0 量角器 C:\\GIT\\angular-practices\\angular-phonecat 量角器測試/量角器-conf.js
util.puts:使用console.log代替直接使用ChromeDriver...錯誤:在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-實踐\\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-實踐\\angular-phonecat\\node_modules \\protractor\\lib\\runner.js:221:35 at _fulfilled (C:\\GIT\\angular-practices\\angular-phonecat\\node_modules\\protractor\\node_modules\\q\\q.js:797:54) at self.promiseDispatch.done (C:\\GIT\\angular-practices\\angular-phonecat\\node_modules\\protractor\\node_modules\\q\\q.js:826:30) at 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
}
};
對於使用 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>
在您的 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.