Вы можете протестировать приложение на основе JOGL, используя Sikuli, который выполняет автоматизацию пользовательского интерфейса с помощью технологии распознавания образов на снимках экрана.
В настоящее время я использую Sikuli для функционального тестирования Java-приложения, которое преимущественно основано на NASA Worldwind Java SDK (основано на JOGL). С помощью Sikuli Java API мой тестовый набор может распознавать значки в холсте OpenGL, нажимать на них, а также перетаскивать их. Sikuli также может распознавать и извлекать текст с холста через OCR, однако производительность этого, кажется, немного хита и промаха (в зависимости от языка, шрифта, размера и цветов фона за текстом).
Я провел много автоматизированного пользовательского тестирования с использованием других инструментов, которые работают, исследуя инструментарий для оконной обработки (например, Swing, SWT, родная Windows) и обнаружили, что Sikuli работает намного медленнее, чем это, однако это понятно, учитывая сумму обработки изображений, которые он должен делать за кулисами. Также обратите внимание, что Sikuli в настоящее время требует, чтобы ваше приложение запускалось в окне (не в полноэкранном режиме).
Sikuli работает как на Windows, так и на Linux. Я бы порекомендовал вам попробовать. Я не мог найти другого инструмента, способного выполнять этот уровень функционального тестирования приложения на основе OpenGL.
pardon noob question, но что делает тестирование приложений OpenGL отличным от любого другого тестирования приложения? – Bahbar
Что я на самом деле имел в виду, это проверить само представление OpenGL. Нажатие, перетаскивание, поворотное масштабирование и т. Д. Существуют инструменты, позволяющие вам записывать взаимодействие с графическим интерфейсом, используя приложение Swing и воспроизводить их. Вы можете сделать это для всех ваших основных взаимодействий и воспроизвести его как регрессионное тестирование. Мне бы хотелось получить аналогичное решение для OpenGL, но я не знаю того, что существует. – hhafez