「watij その1」の編集履歴(バックアップ)一覧はこちら
「watij その1」(2008/01/08 (火) 21:36:51) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&html(<a href="http://mrbl.jp/" border="0" ><script src="http://mrbl.jp/access.php/0000222602/" type="text/javascript"></script></a><noscript><a href="http://mrbl.jp/" border="0" ><img border="0" alt="アクセス解析" src="http://mrbl.jp/counter.php/0000222602/" target="_blank" /></a><br /><a href="http://merumo.net/">出会い 山口</a><br /><a href="http://www.lover-z.com/pc">出会い喫茶</a><br /></noscript>)
自動テストツールの selenium と同じことが出来る watij というツールを見つけた。
watij は java で InternetExplorer を操作する自動テストツール。
HTTPS通信、クライアント認証、複数ドメインをまたがるテスト、等も問題なく動作するみたい。
以下のサイトからダウンロード可能。
http://watij.com/
まずは上記サイトどおりに BeanShell を使って動作確認をした。
ダウンロードした watij_release_XXX.zip(XXXはバージョン番号)を解凍すると、
launchWatijBeanShell.bat というバッチファイルがある。このバッチファイルを実行すると BeanShell が起動する。
バッチファイルの中身は以下。
@echo off
setlocal
copy .\".bshrc" "%USERPROFILE%\"
copy .\jniwrap.dll %Windir%\system32\
:START
SET CP_ARGS=.\lib\junit.jar; .\lib\resolver.jar; .\lib\nekohtml.jar;
.\watij.jar;.\lib\watijcom.jar;.\lib\jniwrap-3.4.jar;.\lib\comfyj-2.2.jar;
.\lib\winpack-3.5.jar;.\lib\xalan.jar;.\lib\xml-apis.jar;.\lib\serializer.jar;
.\lib\xercesImpl.jar;.\lib\bsh.jar;.\lib\jexplorer-1.7.jar;.\lib\mshtml.jar;
java -cp %CP_ARGS% bsh.Console
:END
各コマンドの意味は以下。
-&italic(){@echo off}
「@echo off」コマンドは、バッチファイルに記述されたコマンドを
画面に表示しないということ。
-&italic(){setlocal}
「setlocal」コマンドは、バッチファイルの中で設定・変更された環境変数を、
そのバッチファイルの実行中だけ有効にしてくれるコマンド。
ただし、このままでは他のバッチファイルやコマンドラインを使用する時も、
この環境変数が変更されたままになる。
「endlocal」コマンドを指定すれば、setlocalコマンド以降に変更された
環境変数をリセット出来る。
-&italic(){copy .\".bshrc" "%USERPROFILE%\"}
-&italic(){copy .\jniwrap.dll %Windir%\system32\}
「copy」コマンドはファイルをコピーする。
「%USERPROFILE%」は「ドライブ名:\Documents and Settings\[ユーザ名]」までのパスを表す。
「%Windir%\system32\」は「ドライブ名:\WINDOWS\system32」までのパスを表す。
(watij を実行するには、system32 フォルダに jniwrap.dll を置く必要がある。)
-&italic(){:START}
「start」コマンドは別のコマンドプロンプトを起動させて、処理を実行する。
-&italic()SET CP_ARGS=.\lib\junit.jar;.\lib\resolver.jar;.\lib\nekohtml.jar;.\watij.jar;
.\lib\watijcom.jar;.\lib\jniwrap-3.4.jar;.\lib\comfyj-2.2.jar;
.\lib\winpack-3.5.jar;.\lib\xalan.jar;.\lib\xml-apis.jar;.\lib\serializer.jar;
.\lib\xercesImpl.jar;.\lib\bsh.jar;.\lib\jexplorer-1.7.jar;.\lib\mshtml.jar;
「SET」コマンドは環境変数の値を表示・変更できるコマンド。
ただし設定した環境変数は、現在実行中のコマンドプロンプトのみに有効。
-&italic(){java -cp %CP_ARGS% bsh.Console}
「java -cp」でクラスパスを設定。
「bsh.Console」は、BeanShellをコンソールモードで起動する。
BeanShell を起動し、サイトどおりにコードを入力しても
以下のコードで watij.runtime.UnknownObjectException になり上手くいかなかった。
bsh % ie.textField(name,"q").set("Watij");
bsh % ie.button("Google Search").click();
属性値に「半角スペース」+「漢字」のような値を持ったHTMLの要素を
watij で操作しようとするとこのエラーがでるみたい。原因不明・・・。
google(日本語版)サイトのテキストボックスとボタンには
title属性、value属性に「"Google 検索"」という属性値があるので
ボタン・テキストボックスの操作が上手くいかない。
watij の javadoc を見ると textField() , button() メソッドは、HTMLの要素をint 型でも指定できる。
この方法だと問題なく動作する。
bsh % IE ie = new IE();
bsh % ie.start("http://www.google.com");
bsh % ie.textField(0).set("watij");
bsh % ie.button(0).click();
&html(<div align="center"><table border="1"><tr><td> </td><td><a href="http://www26.atwiki.jp/11rtksn/">TOP</a></td><td><a href="http://www26.atwiki.jp/11rtksn/pages/17.html">次へ>></a></td></tr></table></div><div align="right">1|<a href="http://www26.atwiki.jp/11rtksn/pages/17.html"><b>2</b></a>|<a href="http://www26.atwiki.jp/11rtksn/pages/19.html"><b>3</b></a></div>)
表示オプション
横に並べて表示:
変化行の前後のみ表示: