2010-02-24 8 views
10

Parece que hay muy pocas comparaciones entre Selenium/WatiN y SimpleTest (que también tiene características de prueba web).Selenium vs. SimpleTest vs. WatiN

Intenté Selenium y encontré la interfaz gráfica de usuario genial para crear pruebas ya que puede ver lo que está pasando y registrar sin escribir todos los comandos manualmente.

En cuanto a la ejecución de las pruebas, el selenio es mucho más complejo que SimpleTest. Para SimpleTest solo tiene que ejecutar un script PHP que hace todas las pruebas (lado del cliente o del navegador). Esto significa que sea cual sea el navegador o la configuración del navegador que esté utilizando, simplemente puede ir a la URL de prueba y funcionará del mismo modo.

Lo que sería útil aquí son algunos comentarios de personas que usaron Selenium o WatiN: ¿Por qué es tan famoso Selenium? En otras palabras, ¿cuál sería el beneficio principal de usar Selenium por ejemplo, en lugar de SimpleTest?

PD: Excluya los motivos como "SimpleTest requires PHP"; eso es bastante obvio es que PHP está incluido en la mayoría de LAMP de todos modos.

Respuesta

9

páginas Desde SimpleTest sólo trata con el contenido HTML de una página que no puede probar que con él confía en el comportamiento de JavaScript. Al final del día, es una compensación de velocidad y funcionalidad.

  • Si necesita la funcionalidad de JavaScript o desea probar el comportamiento específico del navegador, use Selenium.
  • Si quiere velocidad y tiene páginas HTML estáticas, use SimpleTest.

Por cierto, el selenio puede ser integrado en un conjunto de pruebas PHPUnit: http://www.phpunit.de/manual/3.1/en/selenium.html

+0

+1 para JavaScript y AJAX – Wernight

+0

@chiborg ¿Ya hay una extensión para SimpleTest para usar Javascript? Thx antes de tiempo! – HelpingHand

+0

@HelpingHand Esto sería * muy * difícil de implementar en PHP puro, ya que esencialmente tendrías que construir un navegador sin cabeza. Una pesadilla para implementar en PHP puro. Eche un vistazo a Phantom JS (http://phantomjs.org/) que implementa un navegador sin cabeza basado en webkit. Eche un vistazo a un proyecto experimental de Drupal para obtener ideas sobre cómo integrar SimpleTest y PhantomJS: https://drupal.org/project/simpletest_phantomjs – chiborg

14

Hay una diferencia importante entre SimpleTest's web-tester y la Selenium suite:

  • selenio trabaja con un navegador verdadera:
    • Cada vez que se inicia una prueba, un verdadero Firefox, o un real de Internet Explorer, se inicia
    • Toda la navegación se realiza en ese navegador real
    • Lo que significa que obtiene todo el Javascript funciones del navegador, es decir, puede probar páginas web completamente dinámicas.
  • web probador de SimpleTest simula un navegador:
    • se envía una solicitud HTTP, el contenido HTML se trae
    • Y que el contenido HTML se analiza
    • Hay un cierto nivel de características para probar cookies y formularios; pero nada acerca de Javascript


Un par de consecuencias y thoughs:

  • pruebas de Selenium toman mucho tiempo para su ejecución: el lanzamiento de un navegador, y navegando (que incluye la descarga de la JS/CSS/images, muestra todo, incluidos los anuncios, ...), es largo y lento
  • pruebas SimpleTest deberían ser más rápido: sólo se envía la solicitud HTTP, analizar el HTML, y eso es todo
  • selenio requiere una máquina con una interfaz gráfica, para iniciar el navegador, que es una gráfica software ; lo que también significa que es más difícil de instalar/configurar
  • Selenio le permite probar aplicaciones ricas/dinámicas/basado en Javascript mucho mejores que sólo ir a buscar y análisis de HTML
  • Si está probando una aplicación PHP, PHPUnit es generalmente considerado mucho mejor (se mantiene activo y desarrollado, al menos) que SimpleTest; y PHPUnit tiene soporte para el Selenio prueba


Yo recomendaría una Combinación de ambos, si es posible:

  • relacionados con HTML Prueba cosas con SimpleTest (O Zend_Test, si se utiliza Zend Framework):
    • será más rápido
    • esas pruebas no dependerán de un navegador
  • prueba páginas dinámicas con selenio

es decir, utilizan lo mejor de ambos instrumentos ;-)

+0

+1 para JavaScript y AJAX – Wernight

+4

Selenium 2 (WebDriver) puede ser una solución única, utilizando HTMLUnitDriver para probar páginas sin la sobrecarga de iniciar un navegador. –

+0

@DaveHunt. Es bueno saber eso. Quería probar Selenium 2 pero sus 10 descargas con pocas explicaciones me hicieron darme por vencido. Esperaré el RC de la primera versión. – Wernight

0

sólo para añadir otra opción, testplan trabaja tanto con el selenio back-end y HtmlUnit, por lo que se puede utilizar con o sin una navegador. El lenguaje de scripting es simple y permite la creación rápida de tareas de automatización.

El backend sin navegador admite JavaScript muy bien, pero para aquellos casos en los que simplemente no funciona, simplemente cambie al modo Selenium y use un navegador real.

+0

http://testplan.brainbrain.net/? – Wernight

0

También tenga en cuenta que simpletest necesita la base de código drupal para ser parcheado. No puede probar su sitio en un espejo exacto de su sitio de producción.

Atentamente.

Cuestiones relacionadas