2009-11-17 26 views
8

Quiero realizar pruebas de integración completa para una aplicación web. Quiero probar muchas cosas como AJAX, posicionamiento y presencia de ciertas frases y elementos HTML usando varios navegadores. Estoy buscando una herramienta para hacer tales pruebas automatizadas.Prueba de integración para una aplicación web

Por otro lado; esta es la primera vez que uso pruebas de integración. ¿Hay alguna recomendación específica al hacer tal prueba? ¿Algún tutorial también?

(Como nota:. Mi backend se realiza utilizando el código Perl, Python y Django)

Gracias!

Respuesta

11

Si necesita realizar pruebas completas, incluida la explotación de funciones del navegador como AJAX, le recomiendo Selenium. Selenium lanza un navegador y lo controla para ejecutar las pruebas.

Es compatible con todos los principales platforms and browsers. Selenium en sí se implementa en Java, pero eso no es realmente un problema si se está utilizando para probar una aplicación web a través de su interfaz de usuario.

Las pruebas de Selenium son una secuencia de comandos en una tabla HTML, los comandos compatibles se encuentran en el documented. También hay un IDE implementado como un complemento de Firefox que se puede usar para registrar y ejecutar pruebas. Sin embargo, los scripts de prueba creados en el IDE se pueden usar para realizar pruebas contra cualquiera de los navegadores admitidos.

+0

Parece que solo admite FF. ¿Algún buen tutorial para usarlo? – khelll

+0

Selenium es compatible con varios navegadores para ejecutar pruebas, ver http://seleniumhq.org/about/platforms.html#browsers. Es solo la grabación de pruebas (usando Selenium IDE) que solo es FF. – codeape

+0

No, también es compatible con IE 7 y 8 y Safari. Personalmente solo lo he usado con FF e IE. Hay buena documentación en el sitio, es una herramienta muy bien documentada. –

1

También recomendaría Selenium. Tiene un plugin de Firefox realmente bueno, que puedes utilizar para crear tus pruebas de integración.

2

Selenium es una muy buena herramienta para automatizar las pruebas del navegador

Ya que menciona Rubí en sus etiquetas, también recomiendo Webrat que es un buen solución de prueba en el navegador en Ruby.

+2

Webrat no funciona con JavaScript. – brainfck

4

También puedes controlar el selenio usando el enlace de pitón de Selenium-RC. Por ejemplo:

from selenium import selenium 
selenium = selenium("localhost", 4444, "*firefox", 
      "http://www.google.com/") 
selenium.start() 
selenium.open("/") # open google.com 
selenium.type("q", "selenium rc") 
selenium.click("btnG") 
selenium.wait_for_page_to_load("30000") 
selenium.failUnless(selenium.is_text_present("Results * for selenium rc")) 
selenium.stop() 
11

Selenium es un buen camino a seguir. Para usarlo con Perl, utilice el módulo CPAN Test::WWW::Selenium.

Aquí es one example de su vaina:

use WWW::Selenium; 

my $sel = WWW::Selenium->new(host => "localhost", 
           port => 4444, 
           browser => "*iexplore", 
           browser_url => "http://www.google.com", 
          ); 

$sel->start; 
$sel->open("http://www.google.com"); 
$sel->type("q", "hello world"); 
$sel->click("btnG"); 
$sel->wait_for_page_to_load(5000); 
print $sel->get_title; 
$sel->stop; 

Y aquí están algunos enlaces adicionales que tal vez útil:

/I3az/

2

Aquí hay otra opción, todos escritos en Python y navegadores cruzados para correr y grabación pruebas: Windmill

6

En this article, Noah regalo hace un buen trabajo de presentar tres alternativas principales para las pruebas de integración de aplicaciones Web : Molino de viento, selenio y sarga Twill no tiene Javascript, por lo que deja a Selenium y Windmill como sus principales posibilidades; Regalos muestra suficiente sobre lo que significa usar cada uno de ellos, para que pueda elegir.

Una cosa que Gift no menciona es que Selenium es mucho más popular, eso no es obvio si solo busca en la web cada uno de los términos molino de viento y selenio, pero eso es porque cada uno obtiene (diferentes números de ;-) hits falsos . [windmill javascript] da 325k hits, [selenium javascript] da 1.2M hits, y esta proporción es más representativa. De todos modos, el punto es que, si los encuentras igualmente fáciles y lo suficientemente poderosos para tus necesidades, por lo que tienes dificultades para elegir uno, entonces escoger el selenio (es decir, ir con la multitud) puede tener ventajas (más expertos alrededor, por ejemplo, en SO para responder preguntas ;-) wrt escogiendo la alternativa menos popular.

0

Otra gran herramienta para las pruebas de navegador que se construye como biblioteca de Ruby y utiliza Ruby para scripting es Watir. También hay un plugin de Firefox para Watir al igual que el selenio llamado
Firewatir alojado en Google Code

1

TestPlan es una gran herramienta para las pruebas web de propósito general. Proporciona un back-end sin pantalla y Selenium. El servidor de Selenium debería encargarse de las pruebas en todos los buscadores populares. También tiene su propio lenguaje de scripting que hace que escribir y probar sea rápido, aunque también se puede usar Java.

Por ejemplo, esto va a una página y envía un formulario de búsqueda y comprueba que encontró el resultado correcto.

GotoURL http://myapp.com/ 

SubmitForm with 
    %Params:search% some term 
end 

Check //div[@id='results'][contains(text(),'some term'] 
Cuestiones relacionadas