tutorial selenium selenium-webdriver webdriver protractor selenium-chromedriver

selenium - tutorial - Ejecución de selenio-destornillador cromado con transportador en linux



selenium angular (2)

Debes poder ejecutar Chrome o Firefox sin cabeza y para eso necesitarás configurar Xvfb, entre otras cosas, de lo contrario, Chrome no podrá iniciarse sin un $ DISPLAY.

También podría usar PhantomJS, pero, en mi humilde opinión, de qué sirve eso para e2e testing, ya que no es un navegador real.

Esto es lo que estoy usando con éxito para las pruebas continuas: https://github.com/elgalu/docker-selenium

Estoy usando transportador para ejecutar pruebas contra una aplicación angular. Funcionan en mi entorno OSX pero no en Linux donde TeamCity intenta ejecutarlo.

Cuando ejecuto este comando en mi entorno OSX local, funciona (probado en la máquina de mi compañero de trabajo también):

./node_modules/protractor/bin/protractor protractor.conf.js Using ChromeDriver directly... .. Finished in 5.55 seconds 2 tests, 2 assertions, 0 failures

Cuando ejecuto esto en una máquina Linux, o un trabajo de TeamCity intenta ejecutarlo, falla:

./node_modules/protractor/bin/protractor protractor.conf.js Using ChromeDriver directly... /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:87 Error(''Timed out waiting for the WebDriver server at '' + url)); ^ Error: Timed out waiting for the WebDriver server at http://127.0.0.1:52959/ at Error (<anonymous>) at onResponse (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:87:11) at /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/util.js:42:21 at /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/http/http.js:96:5 at ClientRequest.<anonymous> (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:136:7) at ClientRequest.EventEmitter.emit (events.js:95:17) at Socket.socketErrorListener (http.js:1547:9) at Socket.EventEmitter.emit (events.js:95:17) at net.js:440:14 at process._tickCallback (node.js:415:13) ==== async task ==== WebDriver.createSession() at Function.webdriver.WebDriver.acquireSession_ (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:49) at Function.webdriver.WebDriver.createSession (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:111:30)

Intenta resolver:

He visto este problema , pero un servidor webdriver independiente no es una solución.

Miré este problema, pero mi versión de selenium-wedriver es 2.42.1 , así que no es el mismo error.

Versiones:

$ node --version v0.10.26 $ ./node_modules/protractor/bin/protractor --version Version 1.0.0 $ uname -mrs Linux 3.11.0-15-generic x86_64

Progreso de la actualización:

Intentando que la versión de chrome-webdriver expusiera un problema:

$ ./node_modules/protractor/selenium/chromedriver --version ./node_modules/protractor/selenium/chromedriver: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory

De esto concluí que había un problema de dependencia y descubrí que Selenium requiere Chrome . (más) .

Instalé Chrome en la caja de Linux usando pasos como este :

sudo apt-get install libxss1 libappindicator1 libindicator7 sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb

Esto no funcionó exactamente así, pero después de algunas incursiones con dependencias y sudo apt-get install creo que tengo instalado Chrome:

$ google-chrome --version Google Chrome 36.0.1985.143

Esto hizo que la versión del cromedriver funcionara:

$ ./node_modules/protractor/selenium/chromedriver --version ChromeDriver 2.10.267518

Sin embargo, ejecutar Protractor todavía no funciona:

$ ./node_modules/protractor/bin/protractor protractor.conf.js Using ChromeDriver directly... /usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109 var template = new Error(this.message); ^ UnknownError: unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.10.267518,platform=Linux 3.11.0-15-generic x86_64) at new bot.Error (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:109:18) at Object.bot.response.checkResponse (/usr/share/TeamCity/buildAgent/work/57bd89f9c9abb5d5/webapp/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:106:9)


Tuve el mismo problema y se solucionó justo después de instalar unity-gtk3-module !!

yum install unity-gtk3-module

Installing: PackageKit-gtk3-module Updating: Installing for dependencies: PackageKit-glib adwaita-cursor-theme adwaita-icon-theme at-spi2-atk at-spi2-core cairo-gobject colord-libs gtk3 json-glib libXevie libgusb rest Updating for dependencies: glib2

espero que esto ayude