Фреймворк для тестирования GUI для JavaFX 2

В настоящее время я читаю книгу " Растущее объектно-ориентированное программное обеспечение, управляемое тестами", которая дает хорошее представление о разработке, управляемой тестами.

Одним из недостатков является то, что код, разработанный в книге, основан на Swing. Для моего следующего проекта я хотел бы использовать Java FX 2, и мне интересно, есть ли какие-либо рамки тестирования GUI для этого? В книге представлен оконный щелчок, позволяющий тестировать только приложения Swing.

7 ответов

Решение

Есть библиотека под названием JemmyFX. Сам Джемми представляет собой набор библиотек и инструментов для тестирования приложений пользовательского интерфейса (в основном на основе Java: Swing, AWT, SWT; но сейчас он расширяется до нативных). JemmyFX покрывает JavaFX в этом отношении.

JemmyFX можно загрузить как часть тестовой ветви OpenJFX 2 (часть с открытым исходным кодом JavaFX).

Для JavaFX 8 тестовая ветвь включает поддержку новых элементов управления и других исправлений.

Есть еще одна новая библиотека тестирования для JavaFX под названием TestFX.

Есть новый тестовый робот под названием MarvinFX:

Цель MarvinFX - легко тестировать элементы управления и сцены JavaFX, уделяя особое внимание свойствам.

Этот другой пост показывает, как использовать утверждения и правила с MarvinFX.

Automaton - еще одна библиотека для тестирования JavafX и Swing GUI, созданная той же командой, что и TestFX.

  • простые тесты для приложений Swing и JavaFX
  • написано для тестеров. Требуются только базовые навыки кодирования.

Другая библиотека (которую я не использовал и не тестировал) - это TestComplete.

По данным сайта Eclipse, современными инструментами тестирования JavaFX в 2015 году являются Squish и Jubula. Но Squish коммерческий. И Jubula частично бесплатна - JavaFX принадлежит к этой бесплатной части. А в версии Eclipse Mars уже существует тестовый дистрибутив. Использует Jubula для тестирования пользовательского интерфейса.

Jubula теперь полностью бесплатна и действительно поддерживает JavaFX.

Другие вопросы по тегам