2009-09-29 39 views
6

¿Hay alguna herramienta que utilice el reconocimiento de imágenes (búsqueda, comparación, validación de imágenes) como base para automatizar y probar el software GUI? Sé que la compatibilidad de ranorex. ¿Hay alguna herramienta mejor? ¿Hay algún inconveniente al utilizar el Reconocimiento de imagen para impulsar la automatización de pruebas?Reconocimiento de imágenes para controlar la automatización de pruebas

+1

Esto suena horrible. –

+2

Gotcha obvia: discrepancias entre la configuración de máquina del agente. Si construyes una prueba con resolución 1280, pero la reproduces a 1150, vas a tener problemas. Normalmente, es mejor que conduzca su automatización en el nivel de objeto de GUI o en el nivel de API. Mi experiencia es que el uso de reconocimiento de imágenes para la automatización de pruebas de conducción debe usarse solo como último recurso. –

Respuesta

0

gracias por tu comentario! Por favor, eche un vistazo a RoutineBot - software de prueba de interfaz basado haciendo clic en ciertos patrones de imagen y vea por usted mismo cómo se implementa esta idea en una herramienta de automatización !

+1

De la propia pregunta frecuente de RoutineBot: "Si usa los patrones de imagen de secuencia de comandos y la apariencia original de algunos, por ejemplo, el botón, en la aplicación probada cambió, entonces el script no se ejecutará correctamente. Por lo tanto, al diseñar sus secuencias de comandos tenga en cuenta esta posibilidad Hay algunas soluciones posibles a este problema: puede usar el comando ClickButton, que usa texto de título de botón (no su imagen). Otra solución es usar patrones de imagen más pequeños, en este caso hay menos posibilidades de que se cambie el patrón ". - Como dije, el reconocimiento de imágenes debe considerarse como último recurso. –

1

También desalentaría el uso del Reconocimiento de imagen con SendKeys y haga clic en Coordenadas o (Imágenes del botón) para realizar pruebas de UI. Recientemente utilicé UI Automation para automatizar las pruebas de una aplicación WPF con éxito. Al colocar pequeñas migas de pan (Automation.AutomationID = "OkButton") a través de XAML de nuestra aplicación he podido escribir algunas pruebas de unidad C# que ejercen diferentes aspectos de la aplicación. Incluso sin las migas de pan, la automatización de la interfaz de usuario todavía es capaz de ejercer una aplicación, pero es un poco más difícil cuando se trata de identificar los controles en la interfaz de usuario.

Un artículo decente en Code Project está disponible como punto de partida.

http://www.codeproject.com/KB/WPF/UIAutomation.aspx

También tendrá la interfaz de usuario del espía, una herramienta gratuita de Microsoft, que le ayuda a encontrar los controles y el ejercicio manualmente los controles a través de UI Automation como guía para la escritura de los guiones. La herramienta está oculta en el SDK de Windows Vista, luego de la búsqueda de instalación de UISpy.exe. La herramienta UI Spy aún se puede ejecutar en una máquina con Windows XP simplemente copiando el EXE en la máquina de destino.

0

Estoy de acuerdo con RodKnee y Tom E. Usar el reconocimiento de imágenes para las pruebas de UI es extremadamente doloroso y una pérdida de tiempo. Si su aplicación está construida correctamente, puede insertar la lógica de la interfaz de usuario en una capa diferente de su aplicación que se prueba más fácilmente.

El MVP pattern fue creado para este propósito. Cada operación que se puede realizar a través de la IU está representada en algún lugar de la Vista. De esta forma, puede quitar completamente la IU y todavía probar la unidad con la arquitectura restante (M-V-C).

La idea de reconocimiento de imágenes para lograr este tipo de cosas me hace estremecer.

0

Considere AutoItScript para conducir GUI basadas en Windows en escenarios de prueba Y eliminando las IU. Considere el reconocimiento óptico de caracteres de fuente abierta de tesseract. También OpenCV para visión artificial.

AutoItScript gratuito funciona en el nivel de la API, ya que puede leer los estados de varias widgets y secciones de Windows, enviar acciones a estos componentes UI, esperar cambios de estado, etc. Es posible producir código de automatización altamente robusto que asegurará el enfoque en Windows e independencia de resolución.

3

Ok, antes que nada, SÍ, entiendo las respuestas anteriores: probar aplicaciones usando el reconocimiento de imágenes no es la mejor manera de probar las GUI. Pero, al mismo tiempo, no entiendo por qué no estás respondiendo la pregunta en primer lugar. Está pidiendo herramientas que funcionen de esa manera, creo que es lo suficientemente inteligente como para entender a dónde se dirige.

Ok, ahora el tema principal, mi elección sería incluye:

  • Sikuli, un proyecto del MIT bajo la licencia GNU-MIT similares. Utiliza Python sobre Jython. Gratis.
  • TestPlant eggPlant, una herramienta que funciona a través de un servidor VNC, por lo que puede probar aplicaciones en cualquier plataforma compatible con VNC (incluidos los teléfonos inteligentes). Tiene algunas características agradables como OCR, programa de prueba, etc. Utiliza SenseTalk. No gratis, puede solicitar una prueba.
  • Routine Bot, nunca lo he usado, pero parece bastante útil.
0

Pregunta anterior, pero tal vez esta respuesta pueda resultarle útil a alguien. Yo actualmente estoy usando dos productos,

Prueba en cualquier lugar, por Automation Anywhere (http://www.automationanywhere.com/Testing/)

y Quick Test Professional, por HP (http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957#.UhJBwpLW5-k)

Ambos hacer el trabajo lo suficientemente bien, y tanto el apoyo el uso del reconocimiento de imágenes. No estoy del todo convencido de que el reconocimiento de imágenes sea en sí mismo algo malo. Como con todas las cosas, debe adaptar su enfoque a sus necesidades particulares y usar la herramienta adecuada para el trabajo.

0

Sólo pensé en agregar otra entrada a este hilo. Las cosas pueden haber cambiado, pero no estoy seguro, pero la última vez que vi la demo, este producto ofrecía las capacidades/interfaces/IDE de Sikuli, al tiempo que era un producto comercial y admitía dispositivos reales más allá del simulador. No sé si la herramienta ha mejorado para detectar objetos mediante identificadores que van más allá de las imágenes o no.

SeeTest de http://experitest.com

1

mi sugerencia Que otra solución.
No es un marco de automatización de UI completo, sino más bien una herramienta específica solo para la validación de imágenes.
Se le permitirá hacer caso omiso de la parte inestable de sus imágenes, así (datos aleatorios, etc.)
Se integrará con cualquier otro marco de pruebas de interfaz de usuario que elija: Selenio, Sikuli, etc.

http://visualci.com

Cuestiones relacionadas