monkeyrunner を実行しているワークステーションからアクセス可能なデバイスまたはエミュレータを表す monkeyrunner クラス。
このクラスは、Android デバイスまたはエミュレータを制御するために使用されます。このクラスのメソッドは、UI イベントの送信、情報の取得、アプリのインストールと削除を行い、アプリを実行します。
    通常、MonkeyDevice のインスタンスを作成する必要はありません。代わりに、
MonkeyRunner.waitForConnection() を使用して、デバイスまたはエミュレータへの接続から新しいオブジェクトを作成します。たとえば、以下のようにインスタンスを作成するのではなく、
newdevice = MonkeyDevice()
以下のようにオブジェクトを作成します。
newdevice = MonkeyRunner.waitForConnection()
概要
| 定数 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| string | DOWN | typeの引数press()またはtouch()
                と一緒に使用して DOWN イベントを送信します。 | |||||||||
| string | UP | typeの引数press()またはtouch()
                と一緒に使用して UP イベントを送信します。 | |||||||||
| string | DOWN_AND_UP | typeの引数press()またはtouch()
                と一緒に使用して DOWN イベントを送信し、その直後に UP イベントを送信します。 | |||||||||
| メソッド | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|  | 
                アプリから送信されたかのように、インテントをこのデバイスにブロードキャストします。
             | ||||||||||
|  | 
                デバイスの画面上のドラッグ ジェスチャー(タッチ、ホールド、移動)をシミュレートします。
             | ||||||||||
|  | 
                システム環境変数名を指定すると、このデバイスにおけるその変数の値を返します。使用可能な変数名の一覧は、このメソッドの詳細説明にあります。
             | ||||||||||
|  | 
.                adb shell getprop <key>. This is provided for use
                by platform developers.
            と同等の API | ||||||||||
|  | 
                packageFile に含まれる Android アプリまたはテスト パッケージをこのデバイスにインストールします。そのアプリまたはテスト パッケージがすでにインストールされている場合は、置き換えます。
             | ||||||||||
|  | 
                Android インストゥルメンテーションで指定されているコンポーネントを実行します。そして、実行されたコンポーネントが指示したとおりの形式でディクショナリ型の結果を返します。コンポーネントは、このデバイスにすでに存在している必要があります。
             | ||||||||||
|  | 
                type で指定されたキーイベントを、keycode で指定されたキーに送信します。
             | ||||||||||
|  | 
                このデバイスを bootloadType で指定されたブートローダーに渡して再起動します。
             | ||||||||||
|  | 
                指定されたパッケージを、そのデータとキャッシュも含めてこのデバイスから削除します。
             | ||||||||||
|  | adbシェルコマンドを実行し、結果があればそれを返します。 | ||||||||||
|  | 
                渡された引数から作成されたインテントを送信することにより、このデバイス上でアクティビティを起動します。
             | ||||||||||
| 
                
                        MonkeyImage
                    
                 | 
                このデバイスの全画面バッファをキャプチャし、現在表示されている画面のキャプチャを含む  
                
                        MonkeyImage
                
                オブジェクトを生成します。 | ||||||||||
|  | 
                type で指定されたタッチイベントを、x と y で指定された画面位置に送信します。
             | ||||||||||
|  | 
                デバイス上のキーボードから入力されたかのように、message 内に含まれている文字をこのデバイスに送信します。これは、キーイベント タイプ  DOWN_AND_UPを使って、message内の各キーコードのpress()を呼び出すのと同じです。 | ||||||||||
|  | 
                このデバイスの画面を復帰させます。
             | ||||||||||
定数
string DOWN_AND_UP
パブリック メソッド
void broadcastIntent ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
            アプリから送信されたかのように、インテントをこのデバイスにブロードキャストします。引数の詳細については、Intent をご覧ください。
        
引数
| uri | このインテントの URI( Intent.setData()を参照)。 | 
|---|---|
| action | このインテントのアクション( Intent.setAction()を参照)。 | 
| data | このインテントのデータ URI( Intent.setData()を参照)。 | 
| mimetype | このインテントの MIME タイプ( Intent.setType()を参照)。 | 
| categories | このインテントのカテゴリを定義する文字列を含む反復可能なデータ構造( Intent.addCategory()を参照)。 | 
| extras | このインテントの追加データのディクショナリ(例については、 Intent.putExtra()を参照)。各ディクショナリ項目のキーは string 型でなければなりません。項目の値には、単純なデータ型または構造化されたデータ型を指定できます。 | 
| component | このインテントのコンポーネント( ComponentNameを参照)。この引数を使うことで、インテントを特定の Android パッケージ内の特定のクラスに誘導できます。 | 
| flags | このインテントの処理方法を制御するフラグを含む反復可能なデータ構造( Intent.setFlags()を参照)。 | 
void drag ( tuple start, tuple end, float duration, integer steps)
デバイスの画面上のドラッグ ジェスチャー(タッチ、ホールド、移動)をシミュレートします。
引数
| start | ドラッグ ジェスチャーの起点。(x,y) のタプル形式で、x と y は整数。 | 
|---|---|
| end | ドラッグ ジェスチャーの終点。(x,y) のタプル形式で、x と y は整数。 | 
| duration | ドラッグ ジェスチャーの秒単位での継続時間。デフォルトの値は 1.0 秒。 | 
| steps | 点と点の間を補完するのに必要なステップ数。デフォルトの値は 10。 | 
object getProperty (string key)
システム環境変数名を指定すると、このデバイスにおけるその変数の値を返します。
引数
| 鍵 | システム環境変数の名前。使用可能な変数名の一覧は、このトピックの最後の表 1. プロパティ変数名にあります。 | 
|---|
戻り値
- 変数の値。データ形式は、要求された変数によって異なります。
object getSystemProperty (string key)
            getProperty() と同義。
        
引数
| 鍵 | システム環境変数の名前。使用可能な変数名の一覧は、表 1. プロパティ変数名にあります。 | 
|---|
戻り値
- 変数の値。データ形式は、要求された変数によって異なります。
void installPackage (string path)
packageFile に含まれる Android アプリまたはテスト パッケージをこのデバイスにインストールします。そのアプリまたはテスト パッケージがすでにインストールされている場合は、置き換えます。
引数
| path | インストールする .apkファイルの完全修飾パスとファイル名。 | 
|---|
dictionary instrument ( string className, dictionary args)
Android インストゥルメンテーションで指定されているコンポーネントを実行します。そして、実行されたコンポーネントが指示したとおりの形式でディクショナリ型の結果を返します。コンポーネントは、このデバイスにすでに存在している必要があります。
このメソッドを使用して、Android のテストケース クラスを使ったテストケースを開始します。 Android テスト フレームワークを使用した単体テストの詳細については、テストの基礎をご覧ください。
引数
| className | このデバイスにすでにインストールされている Android コンポーネントの名前。標準形式の「packagename/classname」で指定します。ここで、packagename は、このデバイス上の .apkファイルの Android パッケージ名です。classname は、そのファイル内の Android コンポーネントのクラス名(Activity、ContentProvider、Service、または BroadcastReceiver)です。packagename と classname は、両方とも完全修飾する必要があります。詳しくは、ComponentNameをご覧ください。 | 
|---|---|
| args | フラグとその値を含むディクショナリ。これらは起動時にコンポーネントに渡されます。フラグの値が指定されなかった場合、ディクショナリ値は空の文字列に設定されます。 | 
戻り値
- 
                コンポーネントの出力を含むディクショナリ。ディクショナリの内容は、コンポーネント自身によって定義されます。 componentName 引数でクラス名として InstrumentationTestRunnerを使用した場合、結果のディクショナリには単一のキー「stream」が含まれます。「stream」の値は、コマンドラインからInstrumentationTestRunnerを実行したときと同様のテスト出力を含む文字列です。この出力の形式については、別の IDE でテストするで説明されています。
void press (string name, integer type)
            type で指定されたキーイベントを、keycode で指定されたキーに送信します。
        
引数
| name | 送信するキーコードの名前。キーコード名の一覧については、 KeyEventをご覧ください。キーコードの整数値ではなく、キーコード名を使用します。 | 
|---|---|
| type | 送信するキーイベントのタイプ。指定できる値は、「 
            DOWN」、「UP」、「DOWN_AND_UP」です。 | 
void reboot (string bootloadType)
                このデバイスを bootloadType で指定されたブートローダーに渡して再起動します。
        
引数
| into | 再起動に使用するブートローダーのタイプ。指定できる値は、「bootloader」、「recovery」、「None」です。 | 
|---|
void removePackage (string package)
指定されたパッケージを、そのデータとキャッシュも含めてこのデバイスから削除します。
引数
| package | このデバイスにインストールされている .apkファイルの Android パッケージ名。 | 
|---|
object shell (string cmd)
            adb シェルコマンドを実行し、結果があればそれを返します。
        
引数
| cmd | adbシェルで実行するコマンド。これらのコマンドの形式については、Android Debug Bridge のトピックで説明されています。 | 
|---|
戻り値
- コマンドの結果(存在する場合)。結果の形式はコマンドによって決定されます。
void startActivity ( string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
渡された引数から作成されたインテントを送信することにより、このデバイス上でアクティビティを起動します。
引数
| uri | このインテントの URI( Intent.setData()を参照)。 | 
|---|---|
| action | このインテントのアクション( Intent.setAction()を参照)。 | 
| data | このインテントのデータ URI( Intent.setData()を参照)。. | 
| mimetype | このインテントの MIME タイプ( Intent.setType()を参照)。 | 
| categories | このインテントのカテゴリを定義する文字列を含む反復可能なデータ構造( Intent.addCategory()を参照)。 | 
| extras | このインテントの追加データのディクショナリ(例については、 Intent.putExtra()を参照)。各ディクショナリ項目のキーは string 型でなければなりません。項目の値には、単純なデータ型または構造化されたデータ型を指定できます。 | 
| component | このインテントのコンポーネント( ComponentNameを参照)。この引数を使うことで、インテントを特定の Android パッケージ内の特定のクラスに誘導できます。 | 
| flags | このインテントの処理方法を制御するフラグを含む反復可能なデータ構造( Intent.setFlags()を参照)。 | 
      
        
            
                MonkeyImage
            
        
      
      takeSnapshot
      
      ()
      
    
  このデバイスの全画面バッファをキャプチャし、現在表示されている画面のキャプチャを生成します。
戻り値
- 現在表示されている画面の画像を含む MonkeyImage オブジェクト。
void touch ( integer x, integer y, string type)
type で指定されたタッチイベントを、x と y で指定された画面位置に送信します。
引数
| x | 実際のデバイス上のピクセルで指定された、タッチの水平方向の位置。現在の向きの画面の左端が座標の起点になります。 | 
|---|---|
| y | 実際のデバイス上のピクセルで指定された、タッチの垂直方向の位置。現在の向きの画面の上端が座標の起点になります。 | 
| type | 送信するキーイベントのタイプ。指定できる値は、「 
                DOWN」、「UP」、「DOWN_AND_UP」です。 | 
void type (string message)
            デバイス上のキーボードから入力されたかのように、message 内に含まれている文字をこのデバイスに送信します。これは、キーイベント タイプ DOWN_AND_UP を使って、message 内の各キーコードの press() を呼び出すのと同じです。
        
引数
| message | 送信する文字を含む文字列。 | 
|---|
void wake ()
このデバイスの画面を復帰させます。
付録
表 1. getProperty() と getSystemProperty() で使用されるプロパティ変数名
| プロパティ グループ | プロパティ | 説明 | 備考 | 
|---|---|---|---|
| build | board | このデバイスのシステムボードのコード名 | Buildを参照 | 
| brand | その携帯通信会社またはプロバイダ用に OS がカスタマイズされている携帯通信会社またはプロバイダ。 | ||
| device | このデバイスのデザイン名。 | ||
| fingerprint | 現在実行しているビルドの一意の識別子。 | ||
| host | |||
| ID | チェンジリストの番号またはラベル。 | ||
| model | エンドユーザーに表示されるこのデバイスの名前。 | ||
| product | 製品の全体の名前。 | ||
| tags | 「unsigned」や「debug」のようなビルドを記述するタグの一覧(カンマ区切り)。 | ||
| type | 「user」や「eng」などのビルドタイプ。 | ||
| user | |||
| CPU_ABI | ネイティブ コード命令セットの名前(CPU タイプと ABI 規則を合わせた形式で指定) | ||
| manufacturer | この製品またはハードウェアのメーカー。 | ||
| version.incremental | このバージョンのソフトウェアを表すためにソース管理システムで使用される内部コード。 | ||
| version.release | ユーザーに表示される、このバージョンのソフトウェアの名前。 | ||
| version.sdk | ユーザーに表示される、このバージョンの OS に関連付けられている SDK バージョン。 | ||
| version.codename | 現在の開発コード名。このバージョンのソフトウェアがすでにリリースされている場合は「REL」。 | ||
| display | width | このデバイスのピクセル単位の表示横幅。 | 詳しくは DisplayMetricsを参照 | 
| height | このデバイスのピクセル単位の表示縦幅。 | ||
| density | このディスプレイの論理密度。これは、DIP(密度非依存ピクセル)単位をこのデバイスの解像度に合わせるために使用される係数です。DIP は、1 DIP が 160 ppi ディスプレイの 1 ピクセルと等しくなるように調整されます。たとえば、160-dpi の画面では density = 1.0、120-dpi の画面では density = .75 になります。 
                    この値は実際の画面サイズを正確に反映しているわけではありませんが、ディスプレイ DPI の大きな変化に合わせて調整されます。詳しくは、 | ||
| am.current | package | 現在実行されているパッケージの Android パッケージ名。 | am.currentキーは、現在実行されているアクティビティに関する情報を返します。 | 
| action | 現在のアクティビティのアクション。形式は、パッケージのマニフェストに含まれる action要素のname属性と同じです。 | ||
| comp.class | 現在のアクティビティを起動したコンポーネントのクラス名。詳しくは、 comp.packageをご覧ください。 | ||
| comp.package | 現在のアクティビティを起動したコンポーネントのパッケージ名。コンポーネントは、パッケージ名とそのパッケージに含まれるクラス名で指定されます。 | ||
| data | 現在のアクティビティを起動したインテントに含まれるデータ(存在する場合)。 | ||
| categories | 現在のアクティビティを起動したインテントによって指定されたカテゴリ。 | ||
| clock | realtime | このデバイスを再起動した後の、ディープ スリープ時間を含むミリ秒単位の経過時間。 | 詳しくは、 SystemClockをご覧ください。 | 
| uptime | このデバイスを再起動した後の、ディープ スリープ時間を含まないミリ秒単位の経過時間。 | ||
| millis | UNIX エポックからのミリ秒単位の経過時間。 | 
