2011-10-18 28 views
4

FEST-SwingにはJavaアプレットのUIアクションを自動化する機能があります。JavaアプレットでのFEST-Swingの使用

FEST-Swingの缶もテストデスクトップアプリケーションと同様にアプレット( ビューアのとブラウザ内。)

私はその機能を確認するためのスクリプトを用意してみましたが、私はできませんでしたアプレットソースをFESTにロードしてアクションを実行する方法を理解してください。

JavaアプレットをFESTにロードするにはどうすればよいですか?具体的には、以下のアプレットをFESTにロードする方法の例が必要です。 http://java.sun.com/applets/jdk/1.4/demo/applets/GraphicsTest/example1.html

私がスクリプトに入れたいのは、[次へ]ボタンと[前へ]ボタンをクリックすることです。

答えて

2

AppletFramFixtureにロードする方法は、hereと記載されています。これを実行するには、FESTがSWINGコンポーネントでのみ動作し、AWTコンポーネントでは動作しないため、次のボタンのタイプをButtonからJButtonに変更する必要があります。さらに、FESTがテストケース内のボタンを識別できるように、ボタンの名前を設定する必要があります。これを行うには、次の行を追加してください:

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

ここであなたのボタンはテストケース内にあります。私は、このテストケースを使用し、それがうまく働いた:

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(); 
    } 
} 
+2

私はまだあなたが 'FrameFixture'にあなたのコンピュータ上で開いているブラウザウィンドウにアプレットをロードする方法を理解していない...あなたもそれを行うことができますか? –

+0

この回答は、Javaアプレットがローカルに保存されていることを前提としています。つまり、既に開いていたWebアプレットでは機能しません。 –

関連する問題