【问题标题】:Using FEST-Swing with a Java applet将 FEST-Swing 与 Java 小程序一起使用
【发布时间】:2011-10-18 11:36:55
【问题描述】:

我发现FEST-Swing 能够自动执行 Java 小程序上的 UI 操作。

FEST-Swing 还可以测试桌面应用程序以及小程序(在 查看器和浏览器内。)

我试图准备一个脚本来查看它的功能,但我不知道如何将小程序源加载到 FEST 以采取行动。

如何将 Java Applet 加载到 FEST 中?具体来说,我想要一个关于如何将以下小程序加载到 FEST 的示例。 http://java.sun.com/applets/jdk/1.4/demo/applets/GraphicsTest/example1.html

我想要在脚本中点击下一个和上一个按钮。

【问题讨论】:

    标签: java applet gui-testing fest


    【解决方案1】:

    描述了here 如何将Applet 加载到FramFixture。要让它运行,您需要将 Next-Button 的类型从 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.
    

    现在您可以在测试用例中找到您的 Button。我使用了这个 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();
        }
    }
    

    【讨论】:

    • 我还是不明白你是如何将电脑上打开的浏览器窗口中的小程序加载到FrameFixture... 你能做到吗?
    • 这个答案似乎假设Java小程序存储在本地,这意味着它不适用于已经打开的网络小程序。
    猜你喜欢
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多