Выполнение теста JavaFx в среде CI без головы с Monocle завершается ошибкой
Я пытаюсь написать тест для JavaFx, который будет работать на безголовом CI. Когда я запускаю свои тесты обычным способом, все тесты работают правильно, но если я запускаю их на CI, они не работают. Кажется, что FxRobot не щелкает какой-то элемент должным образом, потому что я получаю такую ошибку:
Expected: Buttton is disabled
but: was <Button[id=restart, styleClass=button_restart]'RESTART'>
Как я уже сказал, все эти тесты проходят локально. Я запускаю тест командой:
mvn test -Dtestfx.robot=glass -Dtestfx.headless=true -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw -Dprism.text=t2k -Dprism.verbose=true
Я использую Java 11, TestFx 4
1 ответ
Если вы запускаете CI на автономном сервере Linux, вам необходимо запускать его с помощью инструмента xvfb, который имитирует графический интерфейс.
Для получения конкретных инструкций о том, как его настроить, выполните поиск в документации вашего поставщика CI по запросу "xvfb" или укажите свой конкретный инструмент CI (Travis-CI, Circle-CI и т. Д.).