Estoy tratando de probar usando QTP una aplicación web que está usando ajax4jsf para implementar las características de ajax. QTP no tiene la capacidad de reconocer cuando el ajax había terminado. He leído que el kit de herramientas de extensibilidad web que se proporciona con QTP 9.5 y QTP 10 es la solución para mi problema. Sin embargo, no puedo entender cómo esto puede ayudarme: necesito saber el estado de listo del objeto httpRequest y continuar la prueba cuando el estado es 'completo'. Pero no sé cómo llegar a httpRequest desde el kit de herramientas de extensibilidad web. Cualquier ayuda sería apreciada.QTP extensibilidad Web toolkit y ajax
Respuesta
Gracias por sus respuestas.
Logramos resolver nuestro problema utilizando el kit de herramientas QTP Extensibilty: A4j utiliza una cola de oyentes que se despiertan antes y después de ajax (Dependiendo del tipo de oyente). En nuestra solución, implementamos una función Jscript para cada componente ajax (por ejemplo, webButton):
1. Inicialice una variable global en 0
2.registra una nueva función como oyente de tipo onafterajax:
_elem.ownerDocument.parentWindow.A4J.AJAX.AddListener({
onafterajax: function(req, event, data) {
globalVariable = 1;
}
});
- Haga clic en el botón
entrar en una especie de bucle de espera ocupada:
while (globalVariable != 1) { _util.Wait(250); }
La función que registramos se invoca cuando termina el ajax y cambia la variable global para que salga el ciclo while. Sé que esto es feo, pero funciona muy bien.
Nuestro único problema es que QTP 10 implementa _util.wait mientras que QTP 9.5 no. Sin la espera, el navegador quedará atrapado en un bucle infinito y nunca se llamará a la función registrada. Cualquier solución con respecto a la implementación de una espera de espera no ocupada en Jscript sería muy apreciada.
De acuerdo con mi experiencia en la automatización de pruebas para una aplicación basada en web con llamadas AJAX, le sugiero que considere lo siguiente.
mecanismo de reconocimiento de objetos del plan de ahorro está buscando interfaz gráfica de usuario de Windows objetos con la manija. Por lo tanto, siempre que sea posible, use solo objetos GUI. Si prueba manualmente, tampoco llegará al objeto XmlHttpRequest, pero no le impedirá realizar pruebas funcionales. Aún puede sincronizar en una variedad de eventos según el cambio de propiedades de los objetos de la GUI. Por ejemplo. "loading ..." apareció o desapareció una imagen o texto. La lista desplegable dejó de agregar nuevos elementos. El botón se activa/desactiva.
Si esta es su aplicación interna, puede desarrollar un soporte más amigable para QTP, y aquí puede usar las guías del juego de herramientas de extensibilidad. Además, como una opción de compilación de prueba, puede incluir un objeto GUI (imagen invisible o elemento de texto) y usarlo para indicar los estados de las transacciones AJAX.
Finalmente, puede acceder a DOM directamente para llegar a objetos que no son de GUI aunque no tengo información sobre el uso del objeto XmlHttpRequest de esta manera.
Gracias, Albert Gareev
espero que encontrará el siguiente artículo práctico.
sincronización para aplicaciones AJAX http://relevantcodes.blogspot.com/2009/06/synchronization-for-ajax-applications.html
Gracias, Albert Gareev
- 1. ASP.NET AJAX - AJAX Control Toolkit - jQuery - ¿Oh, mi?
- 2. combinan scripts en asp.net ajax toolkit
- 3. ¿Cómo instalo y uso el ASP.NET AJAX Control Toolkit en mis aplicaciones web .NET 3.5?
- 4. ¿Debo usar Google Web Toolkit para mi nueva aplicación web?
- 5. Microsoft Ajax Control Toolkit contra jQuery
- 6. Google Web Toolkit (GWT) + XPath
- 7. Es Google Web Toolkit similar a AWT y Swing
- 8. Características ocultas de Google Web Toolkit 2
- 9. Validación de formulario con Google Web Toolkit?
- 10. ¿Alguien usa PL/SQL Web Toolkit?
- 11. Enfoque de configuración con ASP.NET AJAX Control Toolkit
- 12. ¿Cómo se escriben las pruebas QTP?
- 13. ASP.NET AJAX Toolkit - CalendarExtender se restablece en devolución de datos
- 14. ¿DotNetNuke 6 es compatible con Ajax Control Toolkit?
- 15. Creación de aplicaciones en Google Web Toolkit, Opciones de alojamiento?
- 16. Conectores Ajax vs. Web vs. Trabajadores web
- 17. Creación de JSON en el servidor con Google Web Toolkit
- 18. ¿Qué framework Java funciona mejor con Google Web Toolkit?
- 19. Visual Studio 2010 Extensibilidad, MPF y servicios de idioma
- 20. WPF Toolkit Charting y IndependentValueBinding, IndependentValuePath
- 21. MVVM Light Toolkit - RelayCommands, DelegateCommands, y ObservableObjects
- 22. Silverlight Toolkit TreeView Arrastrar y soltar
- 23. Trabajador web HTML y Jquery Ajax llame al
- 24. Web services API Keys y Ajax - Asegurando la clave
- 25. raspado del sitio web usando jquery y ajax
- 26. ¿Tiene sentido utilizar Google Web Toolkit (GWT) como un framework web completo de Java?
- 27. GUI Toolkit en OpenGL
- 28. WPF ToolKit DataGrid Performance
- 29. Asp.Net Ajax Toolkit AsyncFileUpload - "El archivo está adjunto no es válido" error
- 30. DateTimePicker wpf toolkit binding