se nos ha encomendado básicamente emular un navegador para buscar páginas web, buscando automatizar las pruebas en diferentes páginas web. Esto se usará para (idealmente) aplicaciones de consola que se ejecutan en segundo plano y generan informes.Emulando un navegador web
Intentamos ir con .NET y la biblioteca WatiN, pero se creó en un IE Marshalled, por lo que carecía de muchas características que pirateamos con llamadas a código nativo no administrado, pero al final del día IE no es seguro para hilos ni procesa seguro, y muchas de las características necesarias solo pueden implementarse cambiando los valores de registro y es terriblemente inflexible.
- Proxy apoyo
- JavaScript SOPORTE- tenemos que ser capaz de analizar el DOM efectiva después de cualquier javascript ha ejecutado (y es de esperar un evento se eleva para manejar las llamadas Ajax)
- posibilidad de guardar todo el contenido de la página incluyendo las imágenes de la memoria caché de la página cargada a un lugar separado
- capacidad de borrar las cookies/caché, las cookies conseguir el/la caché, etc.
- capacidad para establecer cabeceras y alterar datos de envío para cualquier llamada navegador
- Proceso y/o hilo de seguridad serían ideales
- Y por el amor de drogs, una API que no es totalmente críptica
Idiomas aceptable C++, C#, Python, todo lo que puede ser un poco simple fondo aplicación que es algo soportable y no tiene una sintaxis completamente "no tradicional" como Ruby.
De mi propia investigación, y yo creo que soy terrible en las búsquedas de Google, he oído cosas buenas sobre WebKit ... sería el módulo de Qt QtWebKit manejar todas estas características?
No sé lo suficiente sobre esto para saber si será útil, pero en algunas ediciones de VS 2010 hay algunas llamadas "Pruebas manuales" que le permiten registrar las interacciones con una página web. Luego puede profundizar en el código y automatizar la prueba, y supuestamente me dicen que lo que registra está en el nivel http. Entonces su código de prueba funcionaría a un nivel bastante bajo. Sin embargo, no sé lo desordenado que podría ser el código generado. – AaronLS
No necesita cambios de registro reales para IE; puedes decirle a IE que use una raíz alternativa. – MSalters