Мы разрабатываем RCP на основе Eclipse. Недавно мы обновились до Eclipse Juno, и в настоящее время мы сосредоточены на качестве, что, конечно, привлекло внимание к автоматическим тестам, поскольку приложение довольно большое, а усилия по тестированию задерживают выпуск релизов.
Мы уже пишем тесты JUnit, но меня больше интересуют тесты пользовательского интерфейса. С более старыми Eclipse это не будет проблемой. Вокруг полно хороших тестовых фреймворков. К сожалению, с Juno все изменилось из-за добавленной возможности переключать пользовательский интерфейс SWT по умолчанию с помощью Swing или JavaFX (по крайней мере, это то, что я понял об изменениях, вызывающих проблемы).
Таким образом, большинство тестовых инструментов больше не работают должным образом. Из прошлого опыта видно, что:
- SWTBot, кажется, в последнее время не пользуется большой популярностью и очень нестабилен (не может найти элементы в некоторых версиях)
- Window Tester кажется неплохим, но имеет много проблем с идентификацией элемента во время тестового запуска (особенно со всплывающими окнами, такими как помощь по содержимому или всплывающие подсказки).
- Судя по всему, Froglogics Squish поддерживает Juno, но поскольку лицензия стоит около 2,5 тысяч евро, я должен пройти
- Похоже, то же самое и с QF-Test (слишком дорого).
- Остается Jubula (или GUIDancer, коммерческая Jubula), которую мы пробовали в прошлом, но у которой были такие же проблемы, как у Window Tester и SWTBot (нестабильная с точки зрения изменений в платформе Eclipse). и трудности с обнаружением некоторых элементов)
Мне нужно знать, на каком инструменте сосредоточиться / на каком доверять. Есть ли у кого-нибудь опыт работы с одним из инструментов или даже в настоящее время тестируется Juno RCP (или сама Juno, если на то пошло)? Или кто-нибудь знает, как Eclipse тестирует свою платформу (если они вообще это делают)?
Поиск информации, связанной с «тестом», «Juno» и «UI/GUI», выдает только коммерческие продукты.
Для меня важно найти инструмент, с помощью которого я смогу использовать разработанный тест-кейс даже в будущих выпусках, а это означает: Проект фреймворка, который имеет некоторую поддержку сообщества, чтобы иметь возможность быстро адаптироваться. Также важно также найти такие вещи, как всплывающие подсказки, оверлеи или помощь/предложения контента) — аналогично Selenium по сравнению с базовым HTMLUnit.
На данный момент я даже не слишком забочусь об интеграции, отчетности или соответствии стандартам.