docker量角器-服务器提前终止,状态为127
我有一个在我的Windows10机器上运行的示例。当我通过使用:node:8的容器将其移植到linux时,我得到错误127 我对linux或基本要求不太熟悉,即它需要java安装还是其他 package.jsondocker量角器-服务器提前终止,状态为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
{
“名称”:“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,