PhantomJS es un navegador sin interfaz gráfica (headless browser) descontinuado que se utilizaba para automatizar la interacción con páginas web. PhantomJS proporciona una API de JavaScript que permite la navegación automatizada , capturas de pantalla , análisis del comportamiento del usuario y aserciones, lo que lo convierte en una herramienta común para ejecutar pruebas unitarias basadas en navegador en un sistema headless, como un entorno de integración continua . PhantomJS se basa en WebKit, lo que lo convierte en un entorno de navegación similar a Safari y Google Chrome (antes de que la bifurcación de Chrome de WebKit evolucionara a Blink ). Es un software de código abierto publicado bajo la licencia BSD .
Historia
PhantomJS fue lanzado el 23 de enero de 2011 por Ariya Hidayat después de varios años de desarrollo.
El logotipo del proyecto, comúnmente utilizado para representar gráficamente a PhantomJS, es un fantasma azul fluorescente sobre un fondo negro. Esto alude a la ausencia de una interfaz gráfica de usuario, o cuerpo principal del navegador, lo que hace que los usuarios de PhantomJS parezcan fantasmas.
En marzo de 2018, el desarrollo de PhantomJS se suspendió debido a la falta de contribuciones activas. [ 2 ]
Uso
La API de JavaScript de PhantomJS permite abrir páginas web, tomar capturas de pantalla, ejecutar acciones del usuario y ejecutar código JavaScript inyectado en el contexto de la página. Por ejemplo, el siguiente código abrirá Wikipedia y, al cargarse, guardará una captura de pantalla en un archivo y saldrá.
var page = require ( 'webpage' ). create (); var url = 'http://en.wikipedia.org/' ; page.open ( url , function ( status ) { page.render ( ' wikipedia.org.png ' ); phantom.exit ( ) ; } ) ;Ecosistema
PhantomJS se volvió tan valioso que proyectos similares adoptaron la API como una forma estándar de interactuar con navegadores sin interfaz gráfica. Por ejemplo, SlimerJS proporcionó una API similar a PhantomJS, pero sobre el motor de navegador Gecko de Mozilla en lugar de WebKit. [ 3 ]
Poco después del lanzamiento de PhantomJS, Nicolas Perriault escribió CasperJS , un conjunto de bibliotecas sobre PhantomJS que amplían sus capacidades como cliente para pruebas automatizadas de páginas web, permitiendo a los usuarios crear pruebas BDD aprovechando PhantomJS. La versión final de CasperJS se lanzó en noviembre de 2017. [ 4 ]
Yahoo! desarrolló una versión de YSlow que aprovecha PhantomJS para recopilar métricas de rendimiento para sitios web. [ 5 ]
Usuarios
Varias empresas destacadas han utilizado PhantomJS.
- LinkedIn utilizó herramientas basadas en PhantomJS para pruebas de rendimiento desde 2011. [ 6 ]
- Netflix utilizó Sketchy , un navegador sin interfaz gráfica construido con PhantomJS, para ayudar a sus analistas a comprender lo que está haciendo sin tener que visitar el sitio a partir de 2014. [ 7 ]
- Time Warner Cable utilizó PhantomJS con CoffeeScript , Jasmine y JUnit XML para la integración continua de Jenkins a partir de 2012. [ 8 ]
Véase también
Referencias
- ↑ "Etiquetas · ariya/phantomjs" . GitHub . 3 de marzo de 2018. Archivado del original el 1 de abril de 2025 . Consultado el 28 de noviembre de 2025 .
- ↑ "Archivado del proyecto: suspensión del desarrollo" . ariya/phantomjs . GitHub. 3 de marzo de 2018. Consultado el 28 de noviembre de 2025 .
- ^ Jouanneau, Laurent. "Preguntas frecuentes: SlimerJS" . SlimerJS . Consultado el 28 de noviembre de 2025 .
{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace ) - ↑ "CasperJS en GitHub" . GitHub . Consultado el 28 de noviembre de 2025 .
- ^ Durán, Marcel. "YSlow para PhantomJS" . Lento . Consultado el 28 de noviembre de 2025 .
- ↑ Prasad, Kiran "phegaro" (11 de octubre de 2011). "LinkedIn Mobile: ¿Cómo lo hacemos?" . SlideShare . Recuperado el 28 de noviembre de 2025 .
- ↑ Mimoso, Michael (26 de agosto de 2014). "Las herramientas de seguridad de código abierto de Netflix resuelven una serie de desafíos" . ThreadPost . Recuperado el 28 de noviembre de 2025 .
{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace ) - ↑ Hidayat, Ariya (23 de enero de 2012). "Un año vagando sin rumbo" . ariya.io . Archivado del original el 25 de diciembre de 2024. Consultado el 28 de noviembre de 2025 .
Enlaces externos
- Sitio web oficial
- GitHub
- Software programado en C++
- navegadores web
- Navegadores web multiplataforma
- Software descontinuado
- Software basado en WebKit
- Software que utiliza la licencia BSD.
- Software de 2011