- Project SIKULI (http://sikuli.csail.mit.edu/)
- MITの研究者が画面ショットを用いるスクリプト言語を開発 (http://www.computerworld.jp/topics/move/172649.html)
GUIテスト用プログラムとかで、画面のこのボタンを押して欲しい、ってのを指定することがあると思うが、その「このボタン」ってのをそのボタンのスクリーンショットで指定できる言語。
IDEのツールバーにカメラボタンってのがあって、それを押すと画面の任意の場所が切り出せる。切り出したスクリーンショットはそのままスクリプト内に取り込まれる。例えば、マインスイーパーで適当にボタンを押しまくるプログラムは右のようになる。
click()の中にマインスイーパーのボタンの絵が入っている。これで「この絵に似ているところを押せ」、っていう命令になる。
かなり面白い言語だが、画像のマッチングで動作するために、なかなか使い方が難しい。click()のボタンの右上に0.9ってのが書いてあるが、これがこの画像とどれくらい似ていたら押すか、を表している。この数字を適当に調整しないとうまく動かない。この0.9ってのでちゃんとマインスイーパーの全部のボタンを押してくれるかっていうと多分できないし、マインスイーパーのボタン以外を押さない保証があるかっていうと微妙だ。特にWindows7のマインスイーパーはボタンにグラデーションがかかっているので難易度が高い。
実験段階の言語だろうから今後のさらなる発展に期待。あとまだ言語自体に機能が足りなくて、現状GUI操作の自動化かテスト以外に使うのは厳しい。これでゲームを作るのは……まだムリだろうなあ。