Date: Fri, 16 Feb 2001 22:22:24 +0900 From: kazoo.saito@....jp Subject: [XP-jp:01604] Re: GUI and XP To: extremeprogramming-jp@....jp Message-Id: <un1bmpxtb.wl@....jp> In-Reply-To: <JIEJKAMAONAMHNNAOOOLCEIJCFAA.nakahiro@....jp> References: <JIEJKAMAONAMHNNAOOOLCEIJCFAA.nakahiro@....jp> X-Mail-Count: 01604斉藤です。 nakahiro>知らないコントロールについては、自分でプローブのDLLを nakahiro>作成しない限りは、そのようになります。これはWinRunnerも同様です。 nakahiro>ことWindowsに限ると、やはりnativeである利点でしょうか、 nakahiro>VisualTestのほうが扱えるコントロールも多いです。 : nakahiro>プローブ機能についてもWRがずいぶん追いついてきました nakahiro>(それ以外の、自動テスト関連機能については、WRのほうがリッチです)。 なるほど。勉強になります。 ところで、仕事が忙しくて逃避したくなったので(笑)、最近の皆さんの記事、 kakeda> AntとJUnitによるIncremental developmentについての記事がありました。 kakeda> http://www-106.ibm.com/developerworks/library/j-ant/?dwzone=java toru> Javaであれば、java.awt.Robot(since jdk1.3)を使えないでしょうか。 : toru> http://developer.java.sun.com/developer/TechTips/2000/tt0711.html#tip2 ichiyama> java.awt.RobotはLinuxだとXレベルのイベントを出すので : ichiyama> たぶんWindowsでも同じようにできるのではないでしょうか。 を参考に、山本さんの記事にある URL から取ってきた Robot のサンプルソースを、 Ant & JUnit で実行するように書き換えてみました。 build.xml の内容、ディレクトリ構成などは懸田さんご紹介の記事からまるごと パクってます。 #本当は森田さんのパッチが当たった Ant1.2 でやりたかったのですけど、 #うちの社外への http proxy が事情によりボンクラのため、取れません。 #家から取って試してみます。 使っているのは Ant 1.2(Binary Release) + JUnit3.5 です。 展開すると RobotDemo というディレクトリができるので、中で % ant runtests とすれば、コンパイル後 TestRunner が起動し、 Robot 経由で GUI を 操作します。当然ですが、Ant&JUnit の記事にあるように build.xml 内の textui.TestRunner を変更すれば、 Swing GUI でも結果を確認できます。 #便利だなあ > Ant 元のサンプルソースは static main() で GUI 作成 + 操作までしてるので、 このうち作成部をコンストラクタに移し、操作を RobotDemoTest クラスへ 移しました。 やってみた感想ですけど、皆さんのおっしゃるとおり、結構めんどいです。 適切なタイミングでイベントを送ったりするのも大変だし、結果を テストケース側でどう取得するかも難しいですね。 (この例ではダサダサに、各結果を取り出すメソッドを追加してます) このサンプルくらい(入力値の確認、表示の確認、ボタン押下結果の確認)だと、 ichiyama> ちなみにぼくはすでにあるWidgetを使う場合はイベント発生で処理が ichiyama> うまくいくかどうかをチェックするので、順番にonClickを呼んだり、 ichiyama> Actionをたたくようにしています。 のような方が全然楽だと思います。あたりまえか。 Ant も JUnit も、Swing すら初めてのプログラミングなのでお恥ずかしい のですが、添付しておきますのでご笑覧ください。 -=---Kazuo Saito(kazoo.saito@....jp) 笑えた場合は後学のために笑えた所を教えていただけると嬉しいです:-)。1604_2.zip1604_3.txt (attatchment)(tag is disabled)