我在这个版本的Linux上使用节点5.10.0
[davea@mydevbox mydir]$ uname -a
Linux mydevbox.mydomain.com 7.3.8-25.26.amzn1.x86_64 #1 SMP Wed Mar 16 17:15:34 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
运行我的脚本时出现以下错误(“服务器提前终止,状态为127”)。我已经确认我可以使用“wget”来访问相关网址,因此我无法告诉我还需要做些什么让这件事工作......
[davea@mydevbox mydir]$ node myscript.js
Validation Complete
/home/davea/node_modules/selenium-webdriver/lib/promise.js:654
throw error;
^
Error: Server terminated early with status 127
at Error (native)
at /home/davea/node_modules/selenium-webdriver/remote/index.js:242:20
at ManagedPromise.invokeCallback_ (/home/davea/node_modules/selenium-webdriver/lib/promise.js:1343:14)
at TaskQueue.execute_ (/home/davea/node_modules/selenium-webdriver/lib/promise.js:2868:14)
at TaskQueue.executeNext_ (/home/davea/node_modules/selenium-webdriver/lib/promise.js:2851:21)
at /home/davea/node_modules/selenium-webdriver/lib/promise.js:2730:27
at /home/davea/node_modules/selenium-webdriver/lib/promise.js:639:7
at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
at acquireSession (/home/davea/node_modules/selenium-webdriver/lib/webdriver.js:107:22)
at Function.createSession (/home/davea/node_modules/selenium-webdriver/lib/webdriver.js:337:12)
at Driver (/home/davea/node_modules/selenium-webdriver/chrome.js:778:38)
at Builder.build (/home/davea/node_modules/selenium-webdriver/builder.js:464:16)
at Object.<anonymous> (/home/davea/mydir/js/Optimus.js:14:4)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
From: Task: WebDriver.navigate().to(http://localhost:8081/myproject)
at Driver.schedule (/home/davea/node_modules/selenium-webdriver/lib/webdriver.js:386:17)
at Navigation.to (/home/davea/node_modules/selenium-webdriver/lib/webdriver.js:1029:25)
at Driver.get (/home/davea/node_modules/selenium-webdriver/lib/webdriver.js:797:28)
at Object.exports.Login.Page (/home/davea/mydir/js/Optimus.js:505:16)
at Object.exports.smokeTest (/home/davea/mydir/js/Optimus.js:2442:19)
at Object.<anonymous> (/home/davea/mydir/SkyNet.js:13:6)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
答案 0 :(得分:3)
在我的情况下,我错过了Java Runtime环境(JRE)。我在基于Debian的docker镜像中使用Selenium运行e2e测试,因此apt-get install default-jre
为我做了诀窍。遗憾的是,在这种情况下,硒没有提供更有用的错误信息。
答案 1 :(得分:1)
我有一个类似的问题,它错过了我通过symlinking libnss3.so解决的共享库:
ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/libnss3.so
如果第一个目录不适合您,请找到:
find /usr/lib/ -name libnss3*
要么
find /usr/lib64/ -name libnss3*
并相应更换。
它可能还需要更新,因此请尝试:
yum update nss
答案 2 :(得分:1)
正如其他答案所示,错误消息表示您有未满足的依赖项。
在我的硒e2e测试案例中,修正案是:
apt-get install default-jre
apt-get -f install
进行修复安装apt-get install chromium-browser
请确保安装与您的chromedriver相关的正确的version铬合金,例如铬60-62为chromedriver 2.33
const options = new chromeDriver.Options();
options.addArguments(
'headless',
'disable-gpu',
);
new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();
答案 3 :(得分:0)
我使用的是基于node.js的硒脚本,并通过使用命令curl https://intoli.com/install-google-chrome.sh | bash
手动安装google chrome来解决此问题
这对我有用。请尝试一下。谢谢。
答案 4 :(得分:0)
我有同样的问题。我在Ubuntu中有不同版本的chromedriver和google-chrome-stable软件包。我通过google-chrome-stable --version
CLI命令检查了Chrome版本。然后从以下位置下载合适的chromedriver:http://chromedriver.storage.googleapis.com/index.html。将其复制到/ usr / bin / local并为文件设置777权限。一切开始起作用。