Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker量角器-服务器提前终止,状态为127_Docker_Protractor - Fatal编程技术网

docker量角器-服务器提前终止,状态为127

docker量角器-服务器提前终止,状态为127,docker,protractor,Docker,Protractor,我有一个在我的Windows10机器上运行的示例。当我通过使用:node:8的容器将其移植到linux时,我得到错误127 我对linux或基本要求不太熟悉,即它需要java安装还是其他 package.json { “名称”:“test1”, “版本”:“1.0.0”, “说明”:“, “main”:“index.js”, “脚本”:{ “webdriver更新”:“webdriver管理器更新”, “webdriver更新浏览器”:“webdriver管理器更新--versions.chro

我有一个在我的Windows10机器上运行的示例。当我通过使用:node:8的容器将其移植到linux时,我得到错误127

我对linux或基本要求不太熟悉,即它需要java安装还是其他

package.json
{
“名称”:“test1”,
“版本”:“1.0.0”,
“说明”:“,
“main”:“index.js”,
“脚本”:{
“webdriver更新”:“webdriver管理器更新”,
“webdriver更新浏览器”:“webdriver管理器更新--versions.chrome=78.0.3904.105”,
“测试量角器”:“grandor-grandor.conf.js——禁用检查”
},
“关键词”:[],
“作者”:“作者”,
“许可证”:“ISC”,
“依赖性”:{
“chai”:“^4.2.0”,
“承诺的柴”:“^7.1.1”,
“黄瓜”:“^6.0.5”,
“jasmine spec reporter”:“^4.2.1”,
“量角器”:“^5.4.2”,
“量角器框架”:“^6.2.0”,
“rimraf”:“^3.0.1”
}
}
量角器
常量量角器=require(“量角器”);
//log('browser=',browser);
exports.config={
框架:“自定义”,
frameworkPath:require.resolve('dragrator-cumber-framework'),
getPageTimeout:60000,
全部预算:500000,
规格:['features/*.features'],
baseURL:'http://www.google.com/',
黄瓜:{
要求:[
“./features/step_definitions/step definitions.js”
],
标签:假,
个人资料:错,
“无来源”:true
},
onPrepare:function(){
browser.ignoreSynchronization=true;
browser.manage().window().maximize();
browser.manage().timeout().implicitlyWait(5000);
},
能力:{
浏览器名称:“chrome”,
AcceptUnsecureCerts:正确,
色度选项:{
args:[
“--允许不安全的本地主机”,
“无头”,
“--禁用gpu”,
“--窗口大小=19201080”,
“没有沙箱”,
“--禁用开发人员shm使用”
],
首选项:{
下载:{
提示下载:false,
扩展\u到\u打开:“”
},
简介:{
默认内容设置:{
弹出窗口:0
}
},
目录\u升级:true
},
useAutomationExtension:false
}
},
//connec直接指向webdriver,而不是本地selenium服务器!
directConnect:没错,
ignoreUncaughtException:true,
未完成:()=>{
//Reporter.createHtmlReport();
}
}
Dockerfile 上面的sed命令simple确保update-config.json使用上述选定的chrome版本

update-config.json 例如:

错误: 服务器提前终止,状态为127

以下是完整堆栈错误:
-->在f001e88bdac0中运行
拆卸中间容器f001e88bdac0
--->7016f93ad697
步骤9/13:运行sed-i-e's/chromedriver[^“]*/chromedriver_78.0.3904.105/g'node_模块/量角器/节点_模块/webdriver manager/selenium/update-config.json
--->在85e4466ff4d5中运行
拆卸中间容器85e4466ff4d5
--->385d8dca6be9
步骤10/13:运行npm运行测试量角器
--->在8304e6de67c9中运行
> test1@1.0.0测试量角器/usr/src/cache
>dragrator dragrator.conf.js--禁用检查
[22:53:19]I/launcher-运行WebDriver的1个实例
[22:53:19]I/direct-直接使用ChromeDriver。。。
[22:53:19]E/launcher-服务器提前终止,状态为127
[22:53:19]E/launcher-错误:服务器提前终止,状态为127
在earlyTermination.catch.e(/usr/src/cache/node_modules/selenium webdriver/remote/index.js:252:52)
在
在进程中。_tick回调(内部/process/next_tick.js:189:7)
发件人:任务:WebDriver.createSession()
在Function.createSession(/usr/src/cache/node_modules/selenium webdriver/lib/webdriver.js:769:24)
位于Function.createSession(/usr/src/cache/node_modules/selenium webdriver/chrome.js:761:15)
在Direct.getNewDriver(/usr/src/cache/node_modules/dragrator/build/driverProviders/Direct.js:77:33)
在Runner.createBrowser(/usr/src/cache/node_modules/dragrator/build/Runner.js:195:43)
在q.then.then(/usr/src/cache/node_modules/dragrator/build/runner.js:339:29)
完成时(/usr/src/cache/node\u modules/q/q.js:834:54)
在self.promiseDispatch.done(/usr/src/cache/node_modules/q/q.js:863:30)
在Promise.promiseDispatch(/usr/src/cache/node_modules/q/q.js:796:13)
at/usr/src/cache/node_modules/q/q.js:556:49
runSingle(/usr/src/cache/node_modules/q/q.js:137:13)
[22:53:19]E/launcher-进程退出,错误代码199

如果我删除对特定chrome版本的引用,只需运行webdriver manager更新,如下所示:

dockerfile 这是我的错误 量角器 我注意到配置中有一个错误,并用末尾的s更正了“ignoreUncaughtExceptions”=

exports.config = {
...
  ignoreUncaughtExceptions: true,
虽然没有解决问题,但我还是遇到了同样的问题

update-config.json
{
“铬”:{
“last”:“/usr/src/cache/node_modules/dragrator/node_modules/webdriver manager/selenium/chromedriver_80.0.3987.16”,
“全部”:[
“/usr/src/cache/node_modules/progrator/node_modules/webdriver manager/selenium/chromedriver_80.0.3987.16”
]
},
“独立”:{
“last”:“/usr/src/cache/node_modules/dragrator/node_modules/webdriver manager/selenium/selenium-server-standalone-3.141.59.jar”,
“全部”:[
“/usr/src/cache/node_modules/dragrator/node_modules/webdriver manager/selenium/selenium-server-standalone-3.141.59.jar”
]
},
“壁虎”:{
“last”:“/usr/src/cache/node_modules/dragrator/node_modules/webdriver manager/selenium/geckodriver-v0.26.0”,
“全部”:[
“/usr/src/cache/node_modules/dragrator/node_modules/webdriver manager/selenium/geckodriver-v0.26.0”
]
}
}

什么是完整的错误堆栈?
.exe
不能在linux上工作。
chromedriver\u 78.0.3904.105.exe
只能在windows上工作。但是
npm run webdriver update
npm run webdriver update chrome
应该为您安装linux chrome驱动程序。P
  "node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_78.0.3904.105.exe"
 ---> Running in f001e88bdac0
Removing intermediate container f001e88bdac0
 ---> 7016f93ad697
Step 9/13 : RUN sed -i -e 's/chromedriver[^"]*/chromedriver_78.0.3904.105/g' node_modules/protractor/node_modules/webdriver-manager/selenium/update-config.json
 ---> Running in 85e4466ff4d5
Removing intermediate container 85e4466ff4d5
 ---> 385d8dca6be9
Step 10/13 : RUN npm run test-protractor
 ---> Running in 8304e6de67c9

> test1@1.0.0 test-protractor /usr/src/cache
> protractor protractor.conf.js --disableChecks

[22:53:19] I/launcher - Running 1 instances of WebDriver
[22:53:19] I/direct - Using ChromeDriver directly...
[22:53:19] E/launcher - Server terminated early with status 127
[22:53:19] E/launcher - Error: Server terminated early with status 127
    at earlyTermination.catch.e (/usr/src/cache/node_modules/selenium-webdriver/remote/index.js:252:52)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/usr/src/cache/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
    at Function.createSession (/usr/src/cache/node_modules/selenium-webdriver/chrome.js:761:15)
    at Direct.getNewDriver (/usr/src/cache/node_modules/protractor/built/driverProviders/direct.js:77:33)
    at Runner.createBrowser (/usr/src/cache/node_modules/protractor/built/runner.js:195:43)
    at q.then.then (/usr/src/cache/node_modules/protractor/built/runner.js:339:29)
    at _fulfilled (/usr/src/cache/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/usr/src/cache/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/usr/src/cache/node_modules/q/q.js:796:13)
    at /usr/src/cache/node_modules/q/q.js:556:49
    at runSingle (/usr/src/cache/node_modules/q/q.js:137:13)
[22:53:19] E/launcher - Process exited with error code 199
FROM node:8


# Create and define the node_modules's cache directory.
RUN mkdir /usr/src/cache
WORKDIR /usr/src/cache

COPY . .
RUN npm install

# run update to get all drivers
RUN npm run webdriver-update

# run tests
RUN npm run test-protractor

> webdriver-manager update

[05:14:17] I/file_manager - creating folder /usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium
[05:14:17] I/config_source - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/standalone-response.xml https://selenium-release.storage.googleapis.com/
[05:14:17] I/config_source - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[05:14:17] I/config_source - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[05:14:18] I/downloader - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
[05:14:18] I/downloader - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_80.0.3987.16.zip https://chromedriver.storage.googleapis.com/80.0.3987.16/chromedriver_linux64.zip
[05:14:21] I/downloader - curl -o/usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.26.0.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz
[05:14:23] I/update - chromedriver: unzipping chromedriver_80.0.3987.16.zip
[05:14:23] I/update - chromedriver: setting permissions to 0755 for /usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_80.0.3987.16 [05:14:29] I/update - geckodriver: unzipping geckodriver-v0.26.0.tar.gz
[05:14:29] I/update - geckodriver: setting permissions to 0755 for /usr/src/cache/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.26.0
Removing intermediate container 7a4b12efa5b4
 ---> 8d02b754b748
Step 7/9 : RUN npm run test-protractor
 ---> Running in fe8c7c731d48

> test1@1.0.0 test-protractor /usr/src/cache
> protractor protractor.conf.js --disableChecks

[05:14:31] I/launcher - Running 1 instances of WebDriver
[05:14:31] I/direct - Using ChromeDriver directly...
[05:14:31] W/launcher - Ignoring uncaught error Error: Server terminated early with status 127
[05:14:32] E/launcher - BUG: launcher exited with 1 tasks remaining
npm ERR! code ELIFECYCLE
npm ERR! errno 100
npm ERR! test1@1.0.0 test-protractor: `protractor protractor.conf.js --disableChecks`
npm ERR! Exit status 100
npm ERR!
npm ERR! Failed at the test1@1.0.0 test-protractor script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-02-07T05_14_32_065Z-debug.log
The command '/bin/sh -c npm run test-protractor' returned a non-zero code: 100
exports.config = {
...
  ignoreUncaughtExceptions: true,