JemmyFX щелчки мыши TimeoutExpiredException

Я хочу начать использовать JemmyFX для тестирования приложений JavaFX GUI. Для этого я использовал небольшой пример приложения, приведенный в этом руководстве: http://code.makery.ch/library/javafx-8-tutorial/part1/

Учитывая этот тест JUnit

public class SampleTest1 {

private SceneDock scene;
private LabeledDock btnNew;
private LabeledDock btnEdit;
private LabeledDock btnDelete;

@BeforeClass
public static void setUpClass() throws AWTException {
    AppExecutor.executeNoBlock(MainApp.class);
}

@Before
public void before() {

    this.btnNew = null;
    this.btnEdit = null;
    this.btnDelete = null;

    this.scene = new SceneDock();
    this.btnNew = new LabeledDock(this.scene.asParent(), "New...", StringComparePolicy.EXACT);
    this.btnEdit = new LabeledDock(this.scene.asParent(), "Edit...", StringComparePolicy.EXACT);
    this.btnDelete = new LabeledDock(this.scene.asParent(), "Delete", StringComparePolicy.EXACT);
}

@Test
public void buttonsInitialized() {
    assertTrue(this.btnNew != null);
    assertTrue(this.btnEdit != null);
    assertTrue(this.btnDelete != null);
}

@Test
public void clickNew() {
    System.out.println("Clicking New... Button.");
    this.btnNew.mouse().click(1);
}

}

выход

Нажатие кнопки New...

Действие "Нажатие кнопки мыши BUTTON1 1 раз на ноль" не выполнено со следующим исключением: org.jemmy.TimeoutExpiredException: Состояние "Ожидание запуска стеклянного робота". не был достигнут за 10000 миллисекунд в org.jemmy.timing.Waiter.ensureState(Waiter.java:121) в org.jemmy.input.glass.GlassInputFactory.getRobot(GlassInputFactory.java:64) в org.jemmy.input.glass.GlassMouse$3.run(GlassMouse.java:121) в org.jemmy.action.Action.execute(Action.java:57) в org.jemmy.action.AbstractExecutor.execute(AbstractExecutor.java:103) в орг.jemmy.input.glass.GlassInputFactory.runAction(GlassInputFactory.java:116) в org.jemmy.input.glass.GlassMouse.doMove(GlassMouse.java:116) в org.jemmy.input.glass.GlassMouse.move(GlassMouse. Java:140) в org.jemmy.input.glass.GlassMouse$4.run(GlassMouse.java:174) в org.jemmy.action.Action.execute(Action.java:57) в org.jemmy.action.ActionQueue$ActionRecord.execute(ActionQueue.java:172) в org.jemmy.action.ActionQueue$1.run(ActionQueue.java:70) в java.lang.Thread.run(неизвестный источник)

Тест buttonInitialized() проходит, а тест clickNew() - нет. Неважно, в каком порядке выполняются тесты или если выполняется только один тест, clickNew() всегда будет неуспешным из-за исключения org.jemmy.TimeoutExpiredException.

Я чувствую, что для Jemmy / JemmyFX не так много информации или подробной документации по API. Единственное решение относительно TimeoutExpiredException, которое я смог найти, это: https://stackru.com/questions/25940032/jemmyfx-sample-error

Однако у меня возникли проблемы с запуском сценария ANT для создания необходимых JAR-файлов для JemmyFX (описано в этом руководстве: https://jemmy.java.net/JemmyFXGuide/jemmy-guide.html). Таким образом, мой друг прислал мне по электронной почте файлы JAR, которые он построил около месяца назад, и я полагаю, что они являются последней версией с момента последнего обновления JemmyFX, по-видимому, три года назад.

Любая помощь приветствуется, спасибо большое, ребята.

0 ответов

Другие вопросы по тегам