Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aseverar que no hay errores en la consola en Selenium #1692

Closed
lhchavez opened this issue Jan 22, 2018 · 2 comments
Closed

Aseverar que no hay errores en la consola en Selenium #1692

lhchavez opened this issue Jan 22, 2018 · 2 comments
Assignees
Labels
21 hours Estimado de horas para completarse P1

Comments

@lhchavez
Copy link
Member

Como un desarrollaror de omegaUp, quiero que Selenium asevere que no hay errores en la consola de JavaScript al correr las pruebas.

Comportamiento Esperado

Si hay un error / advertencia en la consola al correr una prueba, la prueba debería fallar.

Comportamiento Actual

La prueba continúa. Si no hay algo que se esté probando explícitamente, puede continuar o ser flaky. Esto hubiera evitado un error al momento de hacer un push a producción.

@lhchavez lhchavez added P1 8 hours Estimado de horas para completarse 21 hours Estimado de horas para completarse and removed 8 hours Estimado de horas para completarse labels Jan 31, 2018
@lhchavez
Copy link
Member Author

Esto necesita un poco más de amor: no encontré rápidamente una manera de verificar que no hay errores. También tanto en Chrome como en Firefox aún se muestran montones de cosas en la consola por cosas que no necesariamente son errores (como cuando navegas a otra página, Firefox cancela todas las peticiones AJAX y los arroja como excepciones).

@pabo99
Copy link
Collaborator

pabo99 commented Apr 25, 2018

Encontré un link que parece funcionar para Chrome: https://stackoverflow.com/questions/20907180/getting-console-log-output-from-chrome-with-selenium-python-api-bindings

Cuando ejecuto las pruebas, ya puedo ver los mensajes de la siguiente forma:

------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------
{'message': 'http://localhost/third_party/js/jquery-migrate-3.0.1.min.js?ver=0ff315 32:18 "JQMIGRATE: Migrate is installed, version 3.0.1"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614699836}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 62821:8 Object', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614700352}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 16081:40 "You are running Vue in development mode.\\nMake sure to turn on production mode when deploying for production.\\nSee more tips at https://vuejs.org/guide/deployment.html"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614700352}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 16098:44 "Download the Vue Devtools extension for a better development experience:\\nhttps://github.com/vuejs/vue-devtools"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614700352}
------------------------------------------------------------------------------ Captured stdout call -------------------------------------------------------------------------------
{'message': 'http://localhost/third_party/js/jquery-migrate-3.0.1.min.js?ver=0ff315 32:18 "JQMIGRATE: Migrate is installed, version 3.0.1"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614719114}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 62821:8 Object', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614719583}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 16081:40 "You are running Vue in development mode.\\nMake sure to turn on production mode when deploying for production.\\nSee more tips at https://vuejs.org/guide/deployment.html"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614719583}
{'message': 'http://localhost/js/dist/omegaup.js?ver=7a80fa 16098:44 "Download the Vue Devtools extension for a better development experience:\\nhttps://github.com/vuejs/vue-devtools"', 'source': 'console-api', 'level': 'INFO', 'timestamp': 1524614719584}

Falta ver que mensajes si podemos dejar pasar (en esta prueba sólo hay mensajes tipo INFO) y como hacer la aseveración

El problema al agregar esto, es de que no funciona para Firefox, además ocasiona que las pruebas para este navegador fallen. Este es el error que me manda:

self = <selenium.webdriver.remote.errorhandler.ErrorHandler object at 0x7f3a13afa668>
response = {'status': 404, 'value': '{"value":{"error":"unknown command","message":"POST /session/48b65cb1-8acd-4997-8b7a-1ee9ff6...::imp::thread::{{impl}}::new::thread_start at /checkout/src/libstd/sys/unix/thread.rs:84"}}'}

y aún no encuentro cómo solucionarlo.

lhchavez pushed a commit that referenced this issue Jun 5, 2018
…onsola (#1947)

En este Pull Request se agrega `loggingPrefs` en el objeto `capabilities` para que se puedan reportar los errores que aparecen en la consola de `Javascript`. Cabe destacar que `geckodriver` aún no soporta la funcionalidad de obtener los logs, así que este cambio sólo funcionaría para `Chrome`.

Fixes #1692
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
21 hours Estimado de horas para completarse P1
Projects
No open projects
omegaUp for Contests
Awaiting triage
Development

No branches or pull requests

3 participants