Интерфейс тестирования GUI для JavaFX 2
В настоящее время я читаю книгу Расширяющееся объектно-ориентированное программное обеспечение, ориентированное на тесты, которое дает достойное представление о разработке, основанном на тестах.
Один из недостатков заключается в том, что код, разработанный в книге, основан на Swing. Для моего следующего проекта я хотел бы использовать Java FX 2, и мне интересно, есть ли там какие-то схемы тестирования графического интерфейса? В книге представлен windowlicker, который позволяет тестировать только приложения Swing.
Ответы
Ответ 1
Существует библиотека с именем JemmyFX. Jemmy сам представляет собой набор библиотек и инструментов для тестирования приложений пользовательского интерфейса (в основном на основе Java: Swing, AWT, SWT, но он расширяется к родной прямо сейчас). JemmyFX охватывает JavaFX, если на то пошло.
JemmyFX можно загрузить как часть тестовой ветки OpenJFX 2 (часть с открытым исходным кодом JavaFX).
Для JavaFX 8, ветка тестирования включает поддержку новых элементов управления и других исправлений.
Ответ 2
Там еще одна новая тестовая библиотека для JavaFX называется TestFX.
Ответ 3
Там появился новый тестовый робот MarvinFX:
MarvinFX имеет цель легко протестировать элементы управления и сцены JavaFX с особым вниманием к свойствам.
Этот другой пост показывает, как использовать утверждения и правила с MarvinFX.
Ответ 4
Другая библиотека (которую я не использовал или не тестировал) TestComplete.
Ответ 5
Automaton - еще одна тестовая библиотека для графических интерфейсов JavafX и Swing, родившихся из той же команды, что и TestFX
- простые тесты для приложений Swing и JavaFX
- для тестеров. Требуются только базовые навыки кодирования.
Ответ 6
Согласно Eclipse site, современные средства тестирования для JavaFX в 2015 году Squish и Jubula. Но Squish - коммерческий. И Джубула частично свободен - JavaFX принадлежит к этой бесплатной части. И в версии Eclipse Mars уже существует тестовое распределение. Использует Jubula для тестирования пользовательского интерфейса.
Ответ 7
Jubula теперь полностью бесплатна и действительно поддерживает JavaFX.