automated-tests - test - selenium
Comprobador de enlaces automatizado para pruebas del sistema (9)
A menudo tengo que trabajar con sitios web legados frágiles que se rompen de manera inesperada cuando se actualiza la lógica o la configuración.
No tengo el tiempo ni el conocimiento del sistema necesario para crear un script de Selenium . Además, no quiero verificar un caso de uso específico, quiero verificar todos los enlaces y páginas del sitio.
Me gustaría crear una prueba de sistema automatizada que se deslizará por un sitio y buscará enlaces rotos y fallos. Idealmente, habría una herramienta que podría usar para lograr esto. Debe tener la mayor cantidad posible de las siguientes características, en orden descendente de prioridad:
- Activado a través de script
- No requiere interacción humana.
- Sigue todos los enlaces, incluidas las etiquetas de anclaje y los enlaces a archivos CSS y js
- Produce un registro de todos los 404s encontrados, 500s, etc.
- Se puede implementar localmente para comprobar sitios en intranets
- Admite la autenticación basada en formularios / cookies
- Fuente libre / abierta
Hay muchas soluciones parciales, como FitNesse , FitNesse Firefox y el comprobador de enlaces W3C , pero ninguna de ellas hace todo lo que necesito.
Me gustaría utilizar esta prueba en proyectos que utilizan una variedad de tecnologías y plataformas, por lo que cuanto más portátil sea la solución, mejor.
Me doy cuenta de que esto no sustituye las pruebas correctas del sistema, pero sería muy útil si tuviera una forma conveniente y automatizable de verificar que ninguna parte del sitio estaba rota.
¿Qué parte de su lista no cumple el verificador de enlaces W3C? Ese sería el que yo usaría.
Alternativamente, twill (basado en python) es un pequeño lenguaje interesante para este tipo de cosas. Tiene un módulo de verificación de enlaces, pero no creo que funcione de forma recursiva, por lo que no es tan bueno para la araña. Pero podrías modificarlo si te sientes cómodo con eso. Y podría estar equivocado, podría haber una opción recursiva. Vale la pena echarle un vistazo, de todos modos.
Es posible que desee intentar utilizar wget para esto. Puede arañar un sitio incluyendo los "requisitos de página" (es decir, archivos) y puede configurarse para registrar errores. No sé si tendrá suficiente información para usted, pero es gratis y está disponible en Windows (cygwin) así como en Unix.
No estoy seguro de que sea compatible con la autenticación de formularios, pero manejará las cookies si puede ponerlo en marcha en el sitio y, de lo contrario, creo que Checkbot hará todo lo que esté en su lista. He usado como un paso en el proceso de compilación antes para verificar que no haya ningún elemento roto en un sitio. Hay un ejemplo de salida en el sitio web.
Pruebe SortSite . No es gratis, pero parece hacer todo lo que necesitas y más.
Alternativamente, PowerMapper de la misma compañía tiene un enfoque similar pero diferente. Este último le proporcionará menos información sobre la optimización detallada de sus páginas, pero seguirá identificando los enlaces rotos, etc.
Descargo de responsabilidad: Tengo un interés financiero en la empresa que fabrica estos productos.
Pruebe http://www.thelinkchecker.com , es una aplicación en línea que verifica el número de enlaces salientes, el rango de la página, el ancla y el número de enlaces salientes. Creo que esta es la solución que necesitas.
Usamos y realmente nos gusta Linkchecker:
http://wummel.github.io/linkchecker/
Es de código abierto, Python, línea de comandos, implementable internamente y salidas en una variedad de formatos. El desarrollador ha sido de gran ayuda cuando lo contactamos con problemas.
Tenemos un script de Ruby que consulta nuestra base de datos de sitios web internos, inicia LinkChecker con los parámetros adecuados para cada sitio y analiza el XML que LinkChecker nos brinda para crear un informe de errores personalizado para cada sitio en nuestro CMS.
Yo uso Link Sleuth de Xenu para este tipo de cosas. Compruebe rápidamente si hay enlaces muertos, etc. en un / cualquier sitio. Simplemente apúntelo en cualquier URI y se arañarán todos los enlaces en ese sitio.
Desripción del sitio:
Link Sleuth (TM) de Xenu comprueba los sitios web en busca de enlaces rotos. La verificación de enlaces se realiza en enlaces "normales", imágenes, marcos, complementos, fondos, mapas de imágenes locales, hojas de estilo, scripts y applets de Java. Muestra una lista continuamente actualizada de URL que puede ordenar por diferentes criterios. Un informe puede ser producido en cualquier momento.
Cumple con todos sus requisitos, además de ser programable, ya que es una aplicación de Windows que requiere el inicio manual.
InSite es un programa comercial que parece hacer lo que usted quiere (no lo he usado).
Si estuviera en tus zapatos, probablemente escribiría este tipo de araña yo mismo ...
Siempre me ha gustado linklint para consultar enlaces en un sitio. Sin embargo, no creo que cumpla todos sus criterios, en particular los aspectos que pueden depender de JavaScript. También creo que extrañará las imágenes llamadas desde el interior de CSS.
Pero para arañar todas las anclas, funciona muy bien.