Alex is a Software Engineer working on Android development tools, especially Android Studio, at Google. His interests include Java, API design, OOP, IDEs and testing. Alex spends some of his spare time working on Open Source, blogging, writing technical articles, and speaking at international conferences. The opinions expressed here represent his own and not those of his employer. Alex is a DZone MVB and is not an employee of DZone and has posted 49 posts at DZone. You can read more from them at their website. View Full User Profile

FEST-Swing 1.0a3: GUI Testing Made Easy

  • submit to reddit

FEST-Swing is an Open Source Java library, released under the Apache 2.0 license, that provides a fluent interface for functional Swing GUI testing. This library provides an easy-to-use API that makes creation and maintenance of GUI tests easy.

We are proud to announce the release of FEST-Swing 1.0-Alpha3. This release includes many bug fixes and new features, including support for editing JTable cells, custom cell editors, starting an application from a "main" method, and more:

  1. Added support for editing JTable cells. More details can be found here.
  2. Added support for custom cell editors. More details can be found here.
  3. Added support for launching applications from their main method. More details can be found here.
  4. Updated documentation and Javadocs.
  5. Added method controlOrCommandMask to org.fest.swing.util.Platform. This method returns the 'Control' or 'Command' key mask depending on the operating system (e.g. Windows or Mac OS.)
  6. Added method pressAndReleaseKey(KeyPressInfo) to all component fixtures to press a single key with modifiers.
  7. Fixed issue 126: Fields can be modified even though they are disabled. Many thanks to Manuel Kueblboeck.
  8. Fixed issue 138: Make window disposal optional. Many thanks to J. Simmons.
  9. Fixed issue 140: selectItem in JComboBoxFixture is not using CellReader. Many thanks to Wim Deblauwe.
  10. Fixed issue 141: Add showPopupMenu to JTableHeaderFixture. Many thanks to BA.
  11. Fixed issue 142: Edit table cells (e.g. check box, text fields etc.) Many thanks to Simeon Fitch and Matthias Otterbach.
  12. Fixed issue 144: Add support for looking up multiple components. Many thanks to Simeon Fitch.
  13. Fixed issue 145: Invalid mapping for '+' in KeyStrokeMappingProvider_en. Many thanks to Juhos Csaba-Zsolt.
  14. Fixed issue 147: JListFixture#selectItems behavior. Many thanks to Juhos Csaba-Zsolt.
  15. Fixed issue 152: JListFixture#selectItems(JList, int, int) behavior. Many thanks to Juhos Csaba-Zsolt.
  16. Fixed issue 153: Fixtures should not allow construction with a null target. Many thanks to Juhos Csaba-Zsolt.
  17. Fixed issue 157: fails on Mac OS X with apple.laf.useScreenMenuBar. Many thanks to Andriy Tsykholyas and Simeon Fitch.
  18. Fixed bug in org.fest.swing.core.RobotFixture. Closing a window that is not shown resulted in an ActionFailedException.
  19. Renamed methods slideToMax and slideToMin in JSliderFixture to slideToMaximum and slideToMinimum respectively.
  20. Removed methods increment and decrement in JSliderFixture. These methods were not communicating their intention properly and are not needed since JSliderFixture has the methods slideToMaximum and slideToMinimum.

For more information please read the release notes.

Here are some useful links:

Feedback is always appreciated :)

Published at DZone with permission of Alex Ruiz, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)