Использование FEST-Swing с Java-апплетом

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

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

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

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

Все, что я хочу в сценарии, - это нажимать кнопки «Далее» и «Назад».


person Bhima    schedule 18.10.2011    source источник


Ответы (1)


как загрузить Applet в FramFixture описано здесь. Чтобы запустить это, вам нужно изменить тип кнопки «Далее» с 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();
    }
}
person Simulant    schedule 28.08.2012
comment
Я до сих пор не понимаю, как вы загружаете апплет из открытого окна браузера на вашем компьютере в _1 _... Вы вообще можете это сделать? - person David West; 09.01.2014
comment
В этом ответе предполагается, что апплет Java хранится локально, а это означает, что он не будет работать для уже открытого веб-апплета. - person Stevoisiak; 06.10.2017