問題タブ [fest]
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 - JAVA FEST で OptionsPane が見つかりません
Java FEST でポップアップ ダイアログを見つけて [はい] ボタンをクリックしようとしています。次のコードがあります。
最初の行で、次の例外がスローされます。
org.fest.swing.exception.WaitTimedOutError: マッチャー org.fest.swing.core.TypeMatcher[type=javax.swing.JOptionPane, requireShowing=true] マッチャー org を使用してコンポーネントを見つけることができません。 fest.swing.core.TypeMatcher[type=javax.swing.JOptionPane, requireShowing=true].
もちろん、オプション ペインは GUI にポップアップ表示されましたが、FEST はそれを見つけられませんでした。
ここに記載されているように、ウィンドウファインダーを使用してみました: FEST Swing new frame on click, can't make new frame Fixture
でも駄目!!
助けてください!
java - FEST: 何かを行う前に、GUI がロードされるのを待ちます
このコードはうまく機能します。5 秒間の一時停止を削除すると、アプリがテーブルをロードするのに数秒かかるため、テーブルは見つかりません。
よりクリーンな方法があれば知りたいです。ApplicationLauncher の後に robot.waitForIdle() を試しました (EDT が空になると、すべてが読み込まれると思います) が、うまくいきません。
一時停止がいつ停止するかのイベントとしていくつかの条件を使用できることは知っていますが、JavaDoc と公式ドキュメントが貧弱であるため、それを記述する方法がわかりません。
- Pause.pause(WaitForComponentToShowCondition.untilIsShowing(frame.component())) : コンポーネントが必要です。ラッパー フレームを渡すと機能しません。そして、それがまさに私が得るのを待っているものであるため、私はテーブルを渡すことができません.
おそらくComponentFoundConditionで作業する必要があることは理解していますが、わかりません! 私は疲れました:
/li>
何か助けはありますか?
java - FEST: クラスごとにコンポーネントを取得する (基本コンポーネントから継承)
私はこのコードを持っています:
彼の .class (基本コンポーネントから継承) によってコンポーネントを取得するためのより良い種類のシンタックス シュガーはありませんか?
java - FEST: セルが CellRenderPane を使用して JTable の下にあるときにセル値を取得する
次のようなコードがあります。
JCellFixtures または値またはコンテンツを取得しようとすると、すべてが null になります。行数または列数のみを取得しています。JTable は内部的に CellRendererPanel を使用しており、これを取得する必要があると思います。しかし、どのように?JTable には、作成する ContainerFixture がありません.panel()
。これらの状況でセル値を取得する方法はありますか? セルレンダラーパネルがある場合、通常はどのように行われますか?
これは、FEST デバッガーの階層です。
java - Java Swing でマウス入力をブロックする
Swing インターフェイスで特定のアクションをシミュレートするために AWT ロボットを使用するテスト FEST アプリがあります。私の問題は、ロボット テストの実行中にマウス ポインターを移動すると、列ヘッダーを押すなどのプログラム アクションの一部がキャンセルされるように見えることです。実行中に何も触れないと、カーソルがターゲットに移動してヒットします。
テストが終了するまで、そのアプリのマウス ユーザー入力をブロックする方法はありますか?
たぶんブロックではなく、イベントを無視する方法、EDT の終了を強制する方法、またはロボットをシールドする方法はもちろん高く評価されます
java - Eclipse でデバッグ中のアプレットの関数をリモートで呼び出すにはどうすればよいですか?
JavaScript を使用してブラウザでアプレットの特定の関数を呼び出すと、例外が発生します。ただし、ブラウザで実行している間はそのアプレットをデバッグしたくありません。Eclipse で Debug as... を使用して開始し、何らかの方法でその関数をリモートで呼び出します。それは可能ですか?もしそうなら、どのように?
または、FEST フレームワークを使用してテスト ケースを作成する場合、その関数をフレームワークまたはその他の方法で呼び出すことはできますか?
java - Fest フレームワークを使用して (または使用せずに) JTree から JLabel を取得する
2 つのエントリに同じアイコンがあるかどうかを確認するために Fest を使用しています。
私は実際に、そのパスで特定のエントリにアクセスできるものから、JTreeFixture を持っています。
2 つの JLabel を取得していますが、どちらも folder2 の最後のエントリを指しています。Fest はここではあまり役に立たないように思われるので、JTree を直接使用して (JTreeFixture.component() のおかげで => JTree を返す)、JTree から直接情報を抽出することを計画しています。
エントリのパスを知って、JTree に含まれる JLabel を取得するにはどうすればよいですか?
解決済み:私はこのメソッドを作成しました:
getTreeFromWindow は JTreeFixture を返します PreMadeCellRenderer は DefaultTreeCellRenderer を拡張するレンダラーです getTreeCellRendererComponent はコンポーネントを返します
何を入力すればよいかわからなかったので、パラメーター0を使用して動作しました:)
java - swing/awt コンポーネントの fest-swing とラッパー
fest-swingで GUI クライアントをテストしたいのですが... swing コンポーネントをラップするカスタム レイヤーに基づくクライアント。問題は、カスタム gui コンポーネントが swing コンポーネントから継承されず、swing コンポーネントから構成されていることです (レイヤーの作成者は、継承よりも構成を好みました)。
これで、fest-swing を使用してテストを作成できるようになりました。テストはクライアントを開始しますが、フレーム、コンポーネント、ダイアログ、ウィンドウを参照できません。これは、UI コンポーネントが標準の swing/awt コンポーネントのサブクラスではないためです。ここで行き詰まりました。私は今、fest-swing コードを読んでいますが、私の場合、この lib を使用できないようです。
この問題に直面した人はいますか?ヒントはありますか?
java - FEST テストが new FrameFixture() でハングする
ボタンをクリックするだけのFESTを使ってスイングテストを作ってみました。残念ながら、new FrameFixture(...) の実行中にテストがハングします。JFrameから拡張されたビューを内部的に作成するコントローラーをインスタンス化しています。メソッド getView() は、この JFrame を提供します。
new FrameFixture(...) で一線を越えられません。テストをデバッグしたところ、この時点でフレームワークでハングします。
BasicRobot.class
これはフレームワークのバグですか、それとも単にライブラリの使い方が間違っているのでしょうか?
java - AWT - 既存のアプレットのテスト
ブラウザ用に AWT で記述された Java アプレットをテストする必要がありますが、既存のフレーム/ダイアログ/ボタンに接続する方法がわかりません。
システム内の既存の AWT オブジェクトのリストを取得し、それらを処理するオプションはありますか?
私は FEST-AWT を試してみましたが、私の理解が正しければ、彼は新しいオブジェクトの作成とそれらに対する操作しか許可していません。