SikuliのAppクラスを使うと、アプリケーションの起動やフォーカスの設定、ウィンドウを閉じるなどの操作を行うことができます。
Appクラスの静的メソッド(インスタンスを生成しないで使用できるメソッド)とインスタンスメソッド(インスタンスを作ってから使用できるメソッド)は下記の通りです。
(1) Appクラスの静的メソッド
| メソッド | 説明 |
|---|---|
| open(appName) open(appName, waitTime) |
appNameで指定されたアプリを起動し、waitTime秒(デフォルトは1秒)待つ。 appNameがすでに起動中のときは、2重起動しないで前面に表示する。 返値として、そのアプリのAppインスタンスを返す。 |
| close(appName) | appNameのアプリを閉じる。 正常に閉じられた場合はTrue、失敗したときはFalseを返す。 |
| focus(title) focus(title, index) |
指定したtitleを持つindex番目のアプリを前面に表示し、フォーカスを設定する。 返値として、そのアプリのAppインスタンスを返す。 |
| focusedWindow() | フォーカスされているウィンドウのRegionオブジェクトを返す。 |
| openLink(url) | urlを開く。 |
| run(cmd) | cmdで指定された実行形式ファイルを実行する。 |
| getClipboard() | クリップボードに設定されている文字列を取得する。 |
| setClipboard(text) | クリップボードにtextを設定する。 |
(2) Appクラスのインスタンスメソッド
| メソッド | 説明 |
|---|---|
| open() open(waitTime) |
アプリを開く。 すでに開かれているときは、それを前面に表示しフォーカスを設定する。 |
| close() close(waitTime) |
アプリを閉じる。閉じるまで最大waitTime秒(デフォルト10秒)待つ。 異常終了とされることがあるのでcloseByKeyメソッドを使う方がおすすめ。 |
| closeByKey() closeByKey(waitTime) |
ウィンドウを閉じるためのキーを送信することで、アプリを閉じる。 閉じるまで最大waitTime秒(デフォルト10秒)待つ。 |
| focus() | 前面に表示し、フォーカスを設定する。 |
| hasFocus() | フォーカスが設定されているかどうかを返す。 |
| window() window(winNum) |
winNum番目(省略したときは先頭)のウィンドウを示すRegionオブジェクトを返す。 |
| isValid() | アプリケーションが有効かどうかを返す。 |
| isRunning() | 実行中かどうかを返す。 |
| hasWindow() | ウィンドウを持っているかどうかを返す。 |
| getWindow() | ウィンドウタイトルを得る。 |
| getPID() | プロセスIDを得る。 |
| getName() | アプリ名を得る。 |