Я хочу частично автоматизировать некоторые тесты уровня интеграции с помощью класса Robot для отправки событий мыши / клавиатуры в тестируемое приложение Java. Я хочу, чтобы пользователь мог нажимать кнопку и автоматически отправлять сразу несколько событий клавиатуры.
Я порождаю приложение, которое хочу протестировать, из своего теста Robot (используя Runtime.exec) и затем генерирую соответствующие события. К сожалению, когда пользователь нажимает кнопку, кнопка имеет фокус и получает события вместо событий, идущих к дочернему процессу, как мне хотелось бы. Я хотел бы обеспечить способ отправки событий клавиатуры робота в приложение, которое я пытаюсь протестировать.
Я думал о том, чтобы выбрать PID дочернего процесса и затем использовать команду FG, чтобы вывести нужное приложение на передний план; но это специфический для Linux подход. Я бы предпочел метод, который одинаково хорошо работает и в Linux, и в Windows.