Están atacando diferentes problemas. Dado que PhantomJS se ejecuta perfectamente en la línea de comandos, es adecuado como la primera capa de prueba de humo, ya sea como parte del flujo de trabajo de desarrollo y / o en un servidor de integración continua. Selenium se dirige a múltiples navegadores y, por lo tanto, es muy útil para garantizar la coherencia entre navegadores y realizar pruebas exhaustivas en diferentes sistemas operativos.
Si su aplicación web necesita ejecutarse en una variedad de navegadores web, ejecutar la prueba de IU solo con PhantomJS no producirá la mayor cobertura de prueba. Sin embargo, está perfectamente bien lanzar PhantomJS y realizar algunas comprobaciones básicas de cordura antes de realizar las pruebas en profundidad. ¡Imagina la locura de probar una aplicación de finanzas donde la pantalla de inicio de sesión se rompe involuntariamente y no funciona!
Tenga en cuenta que la línea entre los dos se vuelve ligeramente borrosa con el reciente soporte de WebDriver en el último PhantomJS. Ahora es posible ejecutar rápidamente las pruebas primero usando PhantomJS y luego (suponiendo que no se encuentre un error grave) continuar ejecutando las mismas pruebas a fondo en una configuración de Selenium.