J'utilise le noeud 5.10.0 sur cette version de Linux
[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
Je reçois le message d'erreur ci-dessous lors de l'exécution de mon script («Le serveur s'est arrêté tôt avec le statut 127»). J'ai vérifié que je pouvais atteindre l'URL en question en utilisant "wget", donc je ne peux pas dire ce dont j'ai besoin pour que cette chose fonctionne ...
[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)
Dans mon cas, il me manquait un environnement Java Runtime (JRE). J'exécute des tests e2e avec Selenium dans une image de menu fixe basée sur Debian. C'est pourquoi apt-get install default-jre
m'a tout préparé. Dommage, Selenium ne donne pas un message d'erreur plus utile dans ce cas.
J'ai eu un problème similaire où il manquait une bibliothèque partagée que j'ai résolue en liant symboliquement libnss3.so:
ln -s /usr/lib/x86_64-linux-gnu/libnss3.so /usr/lib/libnss3.so
Si le premier répertoire ne fonctionne pas pour vous, recherchez avec:
find /usr/lib/ -name libnss3*
OU find /usr/lib64/ -name libnss3*
et remplacez en conséquence.
Cela pourrait aussi nécessiter une mise à jour, alors essayez: yum update nss
Comme suggéré par d'autres réponses, le message d'erreur signifie que vous avez des dépendances non satisfaites.
Dans mon cas de test Selenium e2e, les correctifs sont les suivants:
apt-get install default-jre
mentionné par @Johannesapt-get -f install
pour une installation de correctifapt-get install chromium-browser
Assurez-vous d’installer la version chrome correspondante à votre lecteur chromed, par exemple. chrome 60-62 pour conducteur chromé 2.33
const options = new chromeDriver.Options();
options.addArguments(
'headless',
'disable-gpu',
);
new webdriver.Builder()
.forBrowser('chrome')
.setChromeOptions(options)
.build();