Tests automatisés pour les interfaces graphiques Java Swing [fermé]


Fermé.Cette question ne répond pas aux directives Stack Overflow. Il n'accepte pas actuellement de réponses.

Vous voulez améliorer cette question? Mettre à jour le question donc c'est sur le sujet pour le débordement de pile.

Fermé il y a 3 ans.

Améliorer cette question

Quelles sont les options pour construire des tests automatisés pour les interfaces graphiques écrites en Java Swing?

Je voudrais tester certaines interfaces graphiques qui ont été écrites en utilisant le NetBeans Swing GUI Builder , donc quelque chose qui fonctionne sans nécessiter une altération spéciale du code testé serait idéal.

Author: finnw, 2008-09-18

13 answers

Récemment je suis tombé sur FEST qui semblait prometteur, sauf que le développeur a annoncé en 2012 que le développement ne continuerait pas.

AssertJ est une fourchette de FEST qui fonctionne très bien pour moi. Il est activement maintenu (au moment de la rédaction), prend en charge Java 8, a des assertions pour quelques bibliothèques populaires telles que Guava et Joda Time, et est très bien documenté. Il est également libre et ouvert.

 33
Author: Jwest08, 2017-01-29 15:05:02

J'utilise actuellement FEST. Il fonctionne avec JUnit et prendra également des captures d'écran des tests infructueux.

Il a des méthodes de recherche de composants par défaut qui recherchent le nom du composant testé (qui doivent être définis manuellement), mais vous pouvez également générer les testeurs pour un composant donné en lui passant le composant.

 26
Author: deterb, 2008-09-18 11:15:26

Vous pouvez essayer d'utiliser Cucumberet Swinger pour écrire des tests d'acceptation fonctionnels en anglais simple pour les applications GUI Swing. Swinger utilise la bibliothèque Jemmy de Netbeans sous le capot pour piloter l'application.

Cucumber vous permet d'écrire des tests comme ceci:

 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!"

Jetez un oeil à cette Échangiste vidéo démo pour le voir en action.

 14
Author: Dema, 2017-10-10 19:09:20

Nous envisageons jemmy pour automatiser certains tests de l'interface graphique. L'air prometteur.

 9
Author: Jayan, 2013-07-16 18:39:24

J'utilise java.awt.Robot. N'est pas agréable, n'est pas facile mais fonctionne à chaque fois.

Avantages:

  • Vous avez le contrôle
  • Très rapide
  • Construisez votre propre FWK
  • Portable
  • Aucune dépendance externe

Inconvénients:

  • Pas de belle interface graphique pour construire le test
  • Vous devez laisser l'interface graphique seule pendant que vous testez
  • Construisez votre propre FWK
  • Difficile de changer le code de test et de créer votre premier harnais

Maintenant, si vous avez le budget, je voudrais allez pour LoadRunner. Le meilleur dans la classe.

(Divulgation: relation avec la société propriétaire de LR, mais j'ai travaillé avec LR avant la relation)

 8
Author: Javaxpert, 2008-09-18 13:20:09

Nous utilisons QF-Test et sommes très satisfaits.

 7
Author: ahu, 2008-09-18 11:39:07

Je ne l'ai pas utilisé personnellement, mais SwingUnit semble plutôt bonne. Vous pouvez l'utiliser avec JUnit, et il n'est pas basé sur "l'emplacement des composants" (c'est-à-dire les coordonnées x et y).

La seule chose que vous pouvez avoir à faire avec le constructeur de l'interface graphique NetBeans est de définir des noms uniques pour vos composants.

 6
Author: , 2008-09-18 10:25:12

Vous pouvez utiliser Marathon : "Marathon Integrated Testing Environment, MarathonITE, est un framework d'automatisation de test Java/Swing™ GUI abordable, facile à utiliser et multiplateforme. Vous pouvez utiliser l'enregistreur de script intégré de MarathonITE pour créer des scripts de test propres et lisibles en Python ou en Ruby. Des fonctionnalités avancées telles que la refactorisation des méthodes d'extraction, les tests create-datadriven et l'édition d'objectmap vous permettent de créer des suites de tests maintenables et résilientes."

 4
Author: Hashan, 2013-01-06 14:23:41

Sikuli: un testeur d'interface graphique utilisant des captures d'écran http://sikuli.org/

 3
Author: Viktor Mellgren, 2012-06-28 07:09:27

Vous pouvez essayer ReTest, qui est un nouvel outil qui implémente une approche innovante des tests de régression fonctionnelle et le combine avec les tests de singe basés sur l'ia. Il est sur le point de devenir également open source...

Avertissement: Je suis l'un des fondateurs de la société derrière ReTest.

 3
Author: roesslerj, 2017-03-04 22:22:42

Pour ceux qui ont un esprit aventureux, il y a gluant https://github.com/robertoaflores/Gooey un outil de test programmatique (très basique et en cours de développement) pour les applications swing.

 2
Author: Roberto Flores, 2016-01-29 16:45:06

Vous pouvez utiliser sikuliou Automa pour tester votre partie GUI, ce sont des outils bien documentés et testés

 1
Author: Sanjit Kumar Mishra, 2017-03-03 11:16:55

Juste fait quelques analyses rapides. Squish était le plus prometteur. Pas gratuitement cependant

 1
Author: amutter, 2019-04-03 07:29:37