Использование FEST-Swing с апплетом Java - PullRequest
4 голосов
/ 18 октября 2011

Я обнаружил, что FEST-Swing имеет возможность автоматизировать действия пользовательского интерфейса над апплетами Java.

FEST-Swing также может тестировать как настольные приложения, так и апплетыпросмотрщик и в браузере.)

Я пытался подготовить скрипт, чтобы увидеть его возможности, но я не мог понять, как загрузить источник апплета в FEST для выполнения действий.

Как я могу загрузить Java-апплет в FEST?В частности, я хотел бы привести пример загрузки нижеприведенного апплета в FEST.http://java.sun.com/applets/jdk/1.4/demo/applets/GraphicsTest/example1.html

Все, что я хочу в сценарии, - это нажимать кнопки Next и Previous.

1 Ответ

2 голосов
/ 29 августа 2012

как загрузить Applet в FramFixture описано здесь .Для этого вам нужно изменить тип кнопки Next с Button на JButton, поскольку FEST работает только с компонентами SWING, а не с компонентами AWT.Дополнительно вы должны установить имя кнопки, чтобы FEST мог идентифицировать кнопку в тестовом примере.Для этого добавьте эту строку:

JButton nextButton = new JButton("next");//sets the visible Label
nextButton.setName("nextButton");//sets a name invisible for the User.

, теперь вы можете найти свою кнопку в тестовом примере.Я использовал этот TestCase, и он работал хорошо:

public class FestTestApplet extends TestCase{

    private AppletViewer viewer;
    private FrameFixture applet;

    @Override
    public void setUp() {
      final Applet app = new GraphicsTest();
      viewer = AppletLauncher.applet(app).start();
      applet = new FrameFixture(viewer);
      applet.show();
    }

    public void testNextButtonClick() {
      applet.button("nextButton").click();//finds the button by the name
      applet.robot.waitForIdle();//give the GUI time to update
      //start your asserts
    }

    @Override
    public void tearDown() {
      viewer.unloadApplet();
      applet.cleanUp();
    }
}
...