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() | アプリ名を得る。 |