Linux Tips |
|
デスクトップ作業を自動化するには
北浦訓行
2007/2/28 |
Fedora Core 6(FC6)には、GUIアプリケーションのテストなどを目的とした「Dogtail」というツールがある。これを利用すれば、GUIプログラムの操作を自動的に行うことができる。
デフォルトの設定では、Dogtailはインストールされない。そのため、以下のようにyumコマンドでインストールを行う。
インストールが完了したら、[アプリケーション]メニューの[プログラミング]−[Dogtail Script Recorder]でDogtailを起動する。初めて起動すると、以下のように支援技術(Assistive Technology)を有効にするかどうかを尋ねるダイアログが表示される。
|
[Enable Assistive Technology Support?]ダイアログ |
[Enable]ボタンをクリックすると、[Script Recorder]というウィンドウが表示される。これがDogtailの画面だ。
|
[Script Recorder]ウィンドウ |
[録音]ボタンをクリックすると、GUI操作の記録が行える。Dogtailは、GUIの操作をPythonのスクリプトとして記録する。ちなみに、マウスの軌跡などは記録されない。
例えば、
- [ヘルプ]メニューをクリックした
- [ヘルプ]メニューの[情報]をクリックした
といった操作が記録される。
|
Dogtailで記録されたスクリプト |
[保存]ボタンをクリックすると、このスクリプトを保存できる。また、[演奏]ボタンをクリックすると、記録した操作を再現できる。
以下は、保存されたスクリプトの内容だ。これに実行属性を付けると、GNOME端末などからスクリプトとして実行できる。
$ cat baobab.py
#!/usr/bin/python
from dogtail.procedural import *
focus.application('baobab')
focus.frame('ディスク使用量アナライザ')
click('ヘルプ(H)', roleName='menu item')
click('情報(A)', roleName='menu item')
focus.dialog('Baobab (バオバブ) について')
click('閉じる(C)', roleName='push button')
click('アナライザ(A)', roleName='menu item')
click('終了(Q)', roleName='menu item') |
原稿執筆時点のDogtailでは、ソフトウェアの起動を記録できない。しかし、以下の1行を追加すれば、ソフトウェアの起動をスクリプトから実行できる(注)。
注:記録されたスクリプトは、テキストエディタなどで変更可能だ。 |
$ cat baobab.py
#!/usr/bin/python
from dogtail.procedural import *
run('baobab') ←この行を追加
focus.application('baobab')
(省略) |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間