Możesz przetestować aplikację opartą na JOGL przy użyciu Sikuli, która wykonuje automatyzację interfejsu użytkownika za pośrednictwem technologii rozpoznawania obrazu na zrzutach ekranu.
Obecnie używam Sikuli do testowania funkcjonalnego aplikacji Java opartej głównie na modelu NASA Worldwind Java SDK (opartym na JOGL). Za pomocą mojego zestawu testów można rozpoznawać ikony w obszarze roboczym OpenGL, klikać je i przeciągać. Sikuli potrafi rozpoznać i wyodrębnić tekst z płótna za pomocą OCR, jednak wydajność tego wydaje się być mało trafiona (w zależności od języka, czcionki, rozmiaru i kolorów tła za tekstem).
Zrobiłem wiele zautomatyzowanych testów interfejsu użytkownika przy użyciu innych narzędzi, które działają poprzez introspekcję zestawu narzędzi do okien (np. Swing, SWT, rodzimy system Windows) i odkryłem, że Sikuli działa znacznie wolniej niż te, jednak jest to zrozumiałe, biorąc pod uwagę kwotę przetwarzania obrazu musi to robić za kulisami. Zauważ też, że Sikuli wymaga obecnie, aby Twoja aplikacja działała w Oknie (nie w trybie pełnoekranowym).
Sikuli działa zarówno w systemie Windows, jak i Linux. Polecam wypróbować to. Nie mogłem znaleźć żadnego innego narzędzia zdolnego do takiego poziomu funkcjonalnego testowania aplikacji opartej na OpenGL.
Ułóż pytanie o noob, ale co różni testowanie aplikacji OpenGL od innych testów aplikacji? – Bahbar
Chciałem przetestować sam widok OpenGL. Kliknięcie, drążenie, obracanie powiększania itp. .... Istnieją narzędzia umożliwiające nagrywanie interakcji z GUI za pomocą aplikacji Swing i powtórzenie ich. Możesz to zrobić dla wszystkich swoich podstawowych interakcji i powtórzyć to jako test regresyjny. Chciałbym podobne rozwiązanie dla OpenGL, ale nie wiem, który istnieje. – hhafez