Pregunta

¿Qué opciones existen para crear pruebas automatizadas para GUI escritas en Java Swing?

Me gustaría probar algunas GUI que se han escrito utilizando el Generador de GUI NetBeans Swing, por lo que lo ideal sería algo que funcione sin requerir una manipulación especial del código bajo prueba.

¿Fue útil?

Solución

Recientemente me encontré con FEST que parecía prometedor, excepto que el desarrollador anunció en 2012 que el desarrollo no continuaría.

Afirmar J es un fork de FEST que me está funcionando muy bien.Se mantiene activamente (al momento de escribir este artículo), es compatible con Java 8, tiene afirmaciones para algunas bibliotecas populares como Guava y Joda Time, y está muy bien documentado.También es gratuito y abierto.

Otros consejos

actualmente estoy usando FIESTA.Funciona con JUnit y también tomará capturas de pantalla de las pruebas fallidas.

Tiene métodos de búsqueda de componentes predeterminados que buscan el nombre del componente que se está probando (que debe configurarse manualmente), pero también puede generar los probadores para un componente determinado pasándole el componente.

Puedes intentar usar Pepino y Mundano para escribir pruebas de aceptación funcional en inglés sencillo para aplicaciones Swing GUI.Swinger utiliza la biblioteca Jemmy de Netbeans internamente para impulsar la aplicación.

Cucumber te permite escribir pruebas como esta:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Mira esto Vídeo de demostración swinger para verlo en acción.

Estamos considerando palanqueta para automatizar algunas de las pruebas de GUI.Parece prometedor.

yo suelo java.awt.Robot.No es agradable, no es fácil, pero siempre funciona.

Ventajas:

  • tu estas en control
  • Muy rapido
  • Construye tu propio FWK
  • Portátil
  • Sin dependencias externas

Contras:

  • No hay una buena GUI para construir pruebas
  • Tienes que dejar la GUI en paz mientras pruebas.
  • Construye tu propio FWK
  • Difícil cambiar el código de prueba y crear su primer arnés

Ahora bien, si tienes el presupuesto, elegiría LoadRunner.Mejor en clase.

(Divulgación:relación con la empresa propietaria de LR, pero trabajé con LR antes de la relación)

No lo he usado personalmente, pero Unidad oscilante se ve bastante bien.Puede usarlo con jUnit y no se basa en la "ubicación de componentes" (es decir,coordenadas x e y).

Lo único que puede que tenga que hacer con NetBeans GUI Builder es establecer nombres únicos para sus componentes.

estamos usando Prueba QF y estamos bastante satisfechos.

UISpec4J es bastante simple, no hinchado y extensible.Se ajusta mejor a mis propósitos que FEST.

Sikuli:un probador de GUI usando capturas de pantallahttp://sikuli.org/

Puedes usar Maratón :"Marathon Integrated Testing Environment, MarathonITE, es un marco de automatización de pruebas GUI Java/Swing™ asequible, fácil de usar y multiplataforma.Puede utilizar el grabador de scripts incorporado de MarathonITE para crear scripts de prueba limpios y legibles, ya sea en Python o Ruby.Las funciones avanzadas como la refactorización de métodos de extracción, la creación de pruebas basadas en datos y la edición de mapas de objetos le permiten crear conjuntos de pruebas resistentes y fáciles de mantener".

Tu podrías intentar Volver a probar, que es una herramienta novedosa que implementa un enfoque innovador para las pruebas de regresión funcional y lo combina con pruebas con monos basadas en inteligencia artificial.También está a punto de convertirse en código abierto...

Descargo de responsabilidad:Soy uno de los fundadores de la empresa detrás de ReTest.

Para aquellos con una mente aventurera, hay pegajosos https://github.com/robertoaflores/Gooey una herramienta de prueba programática (muy básica y en desarrollo) para aplicaciones swing.

Puedes usar sikuli o autómata Para probar su parte GUI, estas son herramientas bien documentadas y probadas.

Acabo de hacer algunos escaneos rápidos. Chapotear era el más prometedor.Aunque no gratis

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