2

java.awt.Robot を使用してカスタム Swing コンポーネントを実行するテストがあります。ビルド サーバーでテストを実行したいのですが、ビルド サーバーはロックされた Windows マシンで実行されており、画面がロックされていると Robot.keyPress(char) が機能しません。私が送信しているキーストロークは、下向き矢印やバックスペースなどの場合があるため、ドキュメントに直接送信しても役に立ちません。

現在、最初の試行でキーボード入力が機能しない場合は、junit の Assume を使用してテストをスキップしていますが、これらのテストを有効にしたままにします。Swing GUI に対してこの種のテストを実行している人がいると思います。何か案は?

4

2 に答える 2

1

暗闇の中での刺し傷: おそらく VM (VirtualBox など) がバックグラウンドで実行されている可能性がありますが、ロボットが認識している限り、すべての意図と目的のために「起動してロック解除」されている可能性があります。仮想ボックスは単体テストを実行します。

于 2010-01-04T15:44:12.837 に答える
0

Java のヘッドレスモードを使用してみましたか? java.awt.Robot は、特に awt がロードされていることに依存しているため、この場合は機能しないと思います。そのような場合は、クールな (そしてヘッドレス モードで実行されている) fest-swingのような GUI テスト フレームワークに頼る必要があります。

于 2010-01-04T16:11:23.510 に答える