GuiTest 1.54
Win32::GuiTestというモジュールがある。
これのバージョンは現在1.54で、CPANを使ってインストールできる…はずが、テストの部分で止まってしまう。
これは、テストが英語版のCALCを想定して作られているのが原因で、何カ所か書き換えることでテストを通すことが出来る。
まあ force install Win32::GuiTest として強引にインストールしてしまってもいいのかもしれないが…。
とりあえずここを開いて右上にある Win32-GuiTest-1.54.tar.gz からソースを取得し、適当な場所に展開してから t\02_calc.t を開き、下記の通り書き換える。
30行目
MenuSelect('表示(&V)|関数電卓(&S)'); sleep 1;
49行目
($hex) = FindWindowLike($calc, "16 進");
58行目
($bin) = FindWindowLike($calc, "2 進");
65行目
($oct) = FindWindowLike($calc, "8 進");
71行目
($dec) = FindWindowLike($calc, "10 進");
94行目
PushButton("10 進"); sleep 1;
98行目
PushButton("16 進"); sleep 1;
102行目
PushButton("8 進"); sleep 1;
106行目
PushButton("2 進"); sleep 1;
あとは README に書いてあるとおり、
perl makefile.pl nmake nmake test nmake install
をすればいい。
30行目に sleep 1 が増えているが、これはPerl(というかGuiTest)が電卓に対して終了命令(ALT-F4)を出したものの、関数電卓に切り替え中でそれを華麗にスルーしたため終了せず、切り替えが完了した電卓と、新たに起動された電卓とで二つになってしまったため、ウエイトを入れてある。
もしウエイトを入れなくても、残った電卓を手動で終了させればテストは続行されるからそれほど問題はない。
というかそんな古いマシンでもなければウエイトが無くても大丈夫かも。
そうそう、GuiTestのインストールにはCコンパイラが必要なため、入ってない場合はmakeの時点でエラーが出る。
そう言うときはCコンパイラをインストールするか、素直に1.50で我慢する(ppdが1.50.5だから)しかない。