Fest Robot не может взаимодействовать с GUI на сервере CIJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Fest Robot не может взаимодействовать с GUI на сервере CI

Сообщение Anonymous »

Вот тест на фестиваль. Чтобы сделать это по-настоящему минимальным, я попытался сделать это максимально простым.

Код: Выделить всё

import org.fest.swing.core.BasicRobot;
import org.fest.swing.core.Robot;
import org.fest.swing.edt.GuiActionRunner;
import org.fest.swing.edt.GuiQuery;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import javax.swing.JFrame;
import javax.swing.JRadioButton;
import java.awt.EventQueue;
import java.awt.GraphicsEnvironment;
import java.awt.Toolkit;

import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assumptions.assumeFalse;
import static org.junit.jupiter.api.Assumptions.assumeTrue;

public class SimpleRadioTest {

Robot robot;
JFrame frame;
//    FrameFixture frame;
JRadioButton radio;

@BeforeAll
static void beforeAll() {
assumeFalse(GraphicsEnvironment.isHeadless(), "Headless environment");
}

@BeforeEach
void setUp() {
robot = BasicRobot.robotWithCurrentAwtHierarchy();
frame = createFrame();
frame.setVisible(true);
//        frame = new FrameFixture(robot, createFrame());
//        frame.show();
}

@AfterEach
void tearDown() {
frame.setVisible(false);
//        frame.cleanUp();
}

@Test
void whenRadioClicked_itGetsSelected() {
assumeTrue(frame.isShowing(), "Frame not showing");
assumeTrue(radio.isShowing(), "Radio not showing");
assumeTrue(radio.isEnabled(), "Radio not enabled");
assumeFalse(radio.isSelected(), "Radio already selected");
robot.click(radio);
robot.waitForIdle(); // redundant, since click() includes waitForIdle(), just to be explicit
assumeTrue(eventQueueEmpty()); // it's truly empty, no more events to process
assertTrue(radio.isSelected(), "Radio not selected after click"); // fails
}

private boolean eventQueueEmpty() {
EventQueue eventQueue = Toolkit.getDefaultToolkit().getSystemEventQueue();
return eventQueue.peekEvent() == null;
}

private JFrame createFrame() {
return GuiActionRunner.execute(new GuiQuery() {
protected JFrame executeInEDT() {
JFrame frame = new JFrame();
frame.add(createRadio());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLocationRelativeTo(null);
return frame;
}
});
}

private JRadioButton createRadio() {
return radio = new JRadioButton();
}
}
< /code>
        
org.easytesting
fest-swing
1.2.1
test

< /code>
Он легко проходит на моей локальной машине.org.opentest4j.AssertionFailedError: Radio not selected after click ==> expected:  but was: 
< /code>
Обратите внимание на предположения, которые я делаю в своем тесте. Сервер имеет графическую среду, и компоненты видны 
и показывают . Очередь событий истощен. Тем не менее, тест проходит локально, даже если я отключаю свою мышь.
Сервер CI находится в Windows.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... -ci-server
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Fest Robot не может взаимодействовать с GUI на сервере CI
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Fest Robot не может взаимодействовать с GUI на сервере CI
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • ПРОБЛЕМЫ ПРЕДУПРЕЖДЕНИЯ GUI PYTHON GUI
    Anonymous » » в форуме Python
    0 Ответы
    88 Просмотры
    Последнее сообщение Anonymous
  • Модульный тест не выполнен, поскольку fest.fn() не запускает функцию openConfirmationModal
    Anonymous » » в форуме Javascript
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Создание Fest ComponentFinder не бросает, если не совпадает на вызов Find ()
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»