Pregunta

Estamos configurando una Selenium campaña de prueba en una gran aplicación web. Lo primero que hicimos fue crear un marco que inicialice los datos de SQL en la base de datos antes de la prueba, inicie la prueba, archive los resultados y luego borre los datos.

Lo hemos integrado en un proceso de Maven 2, ejecutado todos los días por TeamCity en un base de datos dedicada.

Hemos configurado varias pruebas de Selenium ahora, pero no se utilizan como se planearon.

Las razones son que las pruebas a veces se rompen por razones diferentes a las regresiones (los datos pueden haber cambiado, el procedimiento almacenado puede haberse compilado, etc.).

Me gustaría saber si hay un gran éxito en las pruebas de interfaz de usuario y, de ser así, razones para ello. Los errores comunes también pueden interesarme.

¿Fue útil?

Solución

La capacidad de prueba ayuda mucho. La mayor ganancia para la capacidad de prueba en aplicaciones web es si todos los elementos HTML con los que necesita interactuar en la página tienen atributos únicos y consistentes . Si los atributos que está utilizando para identificar los elementos HTML (Selenium usa xpath) no son consistentes / confiables de compilación a compilación o de sesión a sesión, sus scripts de prueba fallarán. Además, estos atributos deben ser únicos, para que la herramienta de automatización (en este caso Selenium) pueda encontrar el objeto de forma confiable en la página web.

Otros consejos

Si desea pruebas de unidad confiables, necesita tener la misma entrada. El estado de inicio de la base de datos es la entrada . Por lo tanto, debe tener la misma base de datos inicial cada vez. Por supuesto, si desea realizar pruebas con diferentes entradas , debe crear otra prueba unitaria (ya que los resultados obviamente no serán los mismos).

Cuando hago cosas como esta, siempre uso la misma base de datos como punto de partida. Por supuesto, algunas de las pruebas pueden fallar sin modificar la base de datos de la manera correcta, por lo que algunas otras pruebas posteriores también pueden fallar, aunque no lo harían de otra manera. Si su herramienta de prueba unitaria lo permite, debe definir las dependencias entre las pruebas para asegurarse de que esas pruebas no se ejecutarán en absoluto cuando falle la 'principal'.

Uso http-unit, que tiene el beneficio adicional de trabajar antes de que se haya agregado cualquier estilo a la página.

http://httpunit.sourceforge.net/ Puede adjuntar las pruebas para que se ejecuten en la fase de prueba de integración para maven2.

Del sitio

  

Escrito en Java, HttpUnit emula el   porciones relevantes del comportamiento del navegador,   incluyendo envío de formulario, JavaScript,   autenticación básica de http, cookies y   redirección de página automática, y permite   Código de prueba de Java para examinar devuelto   páginas ya sea como texto, un DOM XML o   contenedores de formularios, tablas y   enlaces.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top