問題タブ [jemmy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JemmyFX を使用して複数の JavaFX コンポーネントをテストする
カスタムJavaFXコンポーネントのセットを含むかなり大きなプロジェクトに取り組んでいます。再利用するカスタム コンポーネントごとに、JemmyFX と JUnit を使用して一連の自動テストを作成し始めました。開発中は、これらを Eclipse Juno 内から実行します。
テスト スイート全体を一度に実行するのは難しいことがわかっています。この問題は、複数のコンポーネントをテストしたいので、理想的にはそれぞれに異なるアプリケーションを実行するという事実に起因しているようです (1 つのコンポーネントで実行されたテストが他のテストに影響を与えないようにするため)。
次のことを行う基本クラスを作成しました。
@Test
この基本クラスを使用して、各カスタム コントロールのテストを含む個別のクラスを作成しました。このテスト スイートを実行すると、最初のテスト ケースは正常に実行されますが、残りは失敗します。
この問題に対処するために、次の方法を試しました。
アプリケーションをシャットダウンします
基本クラスに以下を追加しました。
同じ問題が続きます。おそらく、VM がテスト間で再起動されていないためでしょうか?
アプリケーションの再起動を防ぐ
おそらくアプリケーションがすでに実行されているかどうかを確認するために、静的変数を入れました。これにより、Eclipse からテストを実行すると問題が解消されます。コマンドラインから実行しても問題は解決しません。これらのテストを統合サーバーで実行しようとする場合には適していません。
IllegalStateException をキャッチする
これは奇妙なものです。例外をキャッチすることができ、Ubuntu のテスト スイート全体を 4 ~ 5 回実行するたびにシェルがクラッシュし、再度ログインする必要があるという事実を除いて、ほとんどの問題は解決しました。
では、大規模なカスタム コントロール スイートのテストを作成するにはどうすればよいでしょうか。私のアプローチは間違っていますか?
java - イベントモードの JemmmyFX
JavaFx アプリケーションのテストに JemmyFx を使用したいと考えています。Jemmyv2 では、Jemmy をイベント モードまたはロボット モードで起動できました。ただし、Jemmy3ではロボットモードしか利用できないようです。
ソース コード、特に JemmyAWTInput のソース コードを調べてみたところ、AWTRObotFactory などのロボット関連のクラスしか見つかりませんでした。
JemmyFX をイベント モード、つまり非ロボット モードで起動できるかどうかは誰にもわかりません。
java - Jemmy v2 の使用方法
Java Swing のユーザー インターフェイスをテストする方法を学び、Jemmy v2 を試してみたいと思っています。http://jemmy.java.net/tutorial.htmlの指示に従おうとすると、問題が発生しました。現在、次のクラスのみで構成される新しいプロジェクトを作成しました。これにより、テストしたいアプリケーションを開始し、このアプリケーションへの参照を作成します。残念ながら、テストしたいアプリケーションがアクティブになるとすぐに「java.lang.ClassCastException」例外がスローされるため、根本的に間違っているようです。
私が得る例外:
sut2.TicTacToe は、ActionListener を実装するクラスですが、JFrame を拡張しません (別のさらに単純な Java プログラムを試してみましたが、同じ結果が得られました)。このクラス内で JFrame オブジェクトが作成され、GUI コンポーネントを含むパネルが追加されます。
私が間違っていることと、Jemmy v2 を適切にセットアップする方法を教えてください。
gui-testing - エントリ ポイントなし (メイン クラスなし) でプロジェクト用に自動化された GUI テスト ケースを作成できますか?
私は、エントリポイントを持つ必要がないプロジェクトに取り組んでいます(メインクラスなし)。FEST または Jemmy (NetBeans IDE を使用) を使用していくつかの GUI テスト ケースを実装することを考えていました。エントリ ポイントなしで GUI テストを自動化することは可能ですか?
java - jemmy を使用した Java Web Start アプリケーションのテスト
Jemmy を使用していくつかの gui テストを作成する必要がありますが、javaws アプリケーションで起動する方法がわかりません。チュートリアル/例/などでは、次のようなものです:
このコードはサンプル ウィンドウを開きますが、ClassReference オブジェクトを使用して*.jnlp
ファイルを開くにはどうすればよいでしょうか? それとも、ジェミーをJava Web Startアプリケーションに「接続」する別の方法ですか?
よろしくお願いします。
javafx - Jython から JemmyFX を使用するには?
Jython への移植を試みて、Jython から JemmyFX を使用する可能性を探っていtests/bigapps/EnsembleTest
ます。しかし、私は障害に遭遇しました。この Java コードを置き換えることができると期待しています。
この Jython コードを使用すると、次のようになります。
ただし、私が提供した Jython コードでは、TextField
コントロールの検索はorg.jemmy.TimeoutExperiedException
.
この特定のインスタンスを回避するには、ソースを Ensemble デモに変更して ID を指定しTextField
、ID で検索しTextField
ます。ただし、数行後に a を検索するとまったく同じ問題が発生します。ContextMenu
この場合、ContextMenu
ID を指定しても機能しません。
java - プログレスバー付きの通知ダイアログが表示されているときに、ジェミーは clickMouse() で攻撃されました
自動テストの実行中 ( Java GUI 要素と対話するためにjemmy lib が使用されます)、アドレス データが入力され、[アドレスの検索] ボタンが押されます。一部のアドレスでは、プログレスバー付きの通知ダイアログが表示されます。
別のタイムアウトを設定しようとしましたが、テストが実行されたことを特定するのに役立ちません(タイムアウトが期限切れになりました)searchByAddressButton.clickMouse();
この質問は、SQA.stackexchange.com の「プログレスバー付きの通知ダイアログが表示されているときに、ジェミーが clickMouse() で打たれた」のコピーです。完全な情報については、それを確認してください。