1

SWT を使用して構築された Eclipse アプリケーションで Junit テスト ケースを実行しています。SWTBot を使用して GUI テストを行っています。だから、ここに私の問題があります:

editor.bot().button("Make Excel Template").click();

このコードは、アプリケーションでテンプレートを生成するのに役立ちます。完了すると、「OK」というメッセージを含むモーダル ダイアログが表示されます。しかし、SWTBot でこのボタン/ウィジェット/ダイアログ ボックスを見つけることができません。「WidgetNotFoundException」が発生し続けます。

誰かがこれに出くわしましたか?SWTBot Web サイトの公式コンテンツには、ダイアログ ボックスは個別の非 UI スレッドで実行する必要があると記載されています。ただし、提供されている例はあまり有益ではありません。

あなたの助けに感謝!

4

2 に答える 2

0

まず、非 UI スレッドでテストを実行する必要があります (まだ実行していない場合)。次に、条件を使用して、ダイアログを表示するアクションを実行した後、モーダル ダイアログが表示されるのを待つことができます。

bot.waitUntil(Conditions.shellIsActive("This is the title of the modal dialog "));
bot.button("OK").click();

これにより、タイミングの問題が解決されました。

于 2009-12-17T12:52:30.963 に答える
0

@carstenlez - あなたのソリューションは JFace Dialog ボックスでうまく機能します。ただし、私のアプリは、ネイティブ ダイアログである MessageBox を使用しています。SWTBot はネイティブ ダイアログをサポートしていないため、選択肢がほとんどありません。

于 2009-12-18T07:51:37.627 に答える