monkeyrunner クラスは、monkeyrunner
を実行している開発機からアクセスできる端末やエミュレーターを表します。
このクラスは、Android 端末もしくはエミュレーターを制御するのに使用されます。 このメソッドでは、UIイベントの送信、情報の取得、アプリケーションのインストールと削除、アプリケーションの実行を行います。
通常は、 MonkeyDevice
のインスタンスを作成する必要はありません。
その代わりに、
MonkeyRunner.waitForConnection()
を使って、端末もしくはエミュレーターとの接続から新規オブジェクトを作成します。
例えば、以下を使用するのではなく:
newdevice = MonkeyDevice()
以下を使用します。:
newdevice = MonkeyRunner.waitForConnection()
定数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
string | DOWN |
これをpress() やtouch() の引数type と一緒に使って
DOWN イベントを送信します。
|
|||||||||
string | UP |
これをpress() やtouch() の引数type と一緒に使って
UP イベントを送信します。
|
|||||||||
string | DOWN_AND_UP |
これをpress() やtouch() の引数type と一緒に使って
DOWN イベントを送信してそのすぐ後に UP イベントを送信します。
|
メソッド | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
まるでアプリケーションから送られてきたかのように、インテントをこの端末へブロードキャストします。
|
||||||||||
|
端末の画面上でのドラッグジェスチャー(タッチとホールドと移動)を再現します。
|
||||||||||
|
システム環境変数を指定すると、端末におけるその変数の値を戻り値として返します。
使用可能な変数は、このメソッドの詳細説明 に一覧表記されています。
|
||||||||||
|
このAPI は
adb shell getprop <key> と同じ動作をします。これはプラットフォーム開発者が使用するために用意されたものです。
|
||||||||||
|
パッケージファイル内のAndroid アプリケーションやテストパッケージをこの端末にインストールします。 そのアプリケーションやテストパッケージが既にインストールされていた場合、それと置き換えます。
|
||||||||||
|
Android インストルメンテーションで指定したコンポーネントを実行します。 そして実行されたコンポーネントが出力した正確な形式のディクショナリ型データを結果として返します。 コンポーネントはこの端末上に既に存在している必要があります。
|
||||||||||
|
typeで指定されたキーイベントをkeycodeで指定されたキーへ送信します。
|
||||||||||
|
この端末をbootloadTypeで指定したブートローダーに再起動します。
|
||||||||||
|
指定したパッケージを(そのデータとキャッシュも含めて)この端末から削除します。
|
||||||||||
|
adb シェルコマンドを実行し、結果があればそれを返します。
|
||||||||||
|
渡された引数から作成したインテントを送信することで、この端末上でアクティビティを起動します。
|
||||||||||
MonkeyImage
|
現在表示されているスクリーンのキャプチャを含んだMonkeyImageオブジェクトを取得し、この端末の全画面バッファをキャプチャします。
|
||||||||||
|
type で設定したタッチイベントを、xとyで指定した画面位置へ送信します。
|
||||||||||
|
まるで端末上のキーボードから入力されたかのように、message 内に含まれている文字をこの端末へ送信します。
これは、キーイベントタイプ
DOWN_AND_UP を使って、message 内の各キーコードのpress() を呼び出すのと同じ動きをします。
|
||||||||||
|
この端末の画面をWake状態にします。
|
まるでアプリケーションから送られてきたかのように、インテントをこの端末へブロードキャストします。
引数に関する詳細は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() を参照してください)。
|
端末の画面上でのドラッグジェスチャー(タッチとホールドと移動)を再現します。
start | ドラッグジェスチャーの開始点。 (x,y)のタプル形式。 x と y は 数値型。 |
---|---|
end | ドラッグジェスチャーの終点。 (x,y)のタプル形式。 x と y は 数値型。 |
duration | ドラッグジェスチャーの秒単位での継続時間。既定値は 1.0 秒。 |
steps | 点と点の間を補完するのに必要なステップ数。既定値は 10。 |
システム環境変数を指定すると、端末におけるその変数の値が戻り値として返します。
key | システム環境変数の名前。使用可能な変数名は、このページの最後にある表 1. プロパティ変数名で一覧にしています。 |
---|
getProperty()
と同じものです。
key | システム環境変数の名前。 使用可能な変数名は、このページの最後にある表 1. プロパティ変数名で一覧にしています。 |
---|
パッケージファイル内のAndroid アプリケーションやテストパッケージをこの端末にインストールします。 そのアプリケーションやテストパッケージが既にインストールされていた場合、それと置き換えます。
path |
インストールする.apk ファイルの完全修飾パスとファイル名。
|
---|
Android インストルメンテーションで指定したコンポーネントを実行します。 そして実行されたコンポーネントが出力した正確な形式のディクショナリ型データを結果として返します。 コンポーネントはこの端末上に既に存在している必要があります。
このメソッドを使って、Androidのテストケースクラスを使ったテストケースを開始します。 Android テストフレームワークを使ったユニットテストについてより深く学ぶにはテストの基礎を参照してください。
className |
この端末に既にインストールされている Android コンポーネントの名前。標準形式のパッケージ名/クラス名です。
パッケージ名の部分には、この端末上の .apk ファイルのAndroid パッケージ名が入り、クラス名の部分にはそのファイルでのAndroid コンポーネント(ActivityやContentProviderや Serviceや BroadcastReceiver)のクラス名が入ります。
パッケージ名とクラス名は両方とも完全修飾にする必要があります。
詳細については ComponentName を参照してください。
|
---|---|
args | フラグとその値を含んだ、ディクショナリ型。これらは起動時にコンポーネントに渡されます。フラグに値が設定されなかった場合、ディクショナリ型の値の部分には空の文字列が入ります。 |
コンポーネントの出力結果を含んだディクショナリ型。ディクショナリ型の中身は、コンポーネント自身によって定義されます。
引数のクラス名としてInstrumentationTestRunner
を使用した場合、
結果のディクショナリ型には一つのキー"stream"が含まれます。
"stream" の値は、テストの結果を含んだ 文字列 になります。
このテスト結果は、コマンドラインからInstrumentationTestRunner
を実行した時と同じものになります。
この出力形式については
別のIDEでテストするで説明されています。
type
で指定されたキーイベントをkeycode
で指定されたキーへ送信します。
name |
送信するキーコードの名前。キーコード名の一覧についてはKeyEvent を参照してください。対応する整数値ではなくキーコード名自身を使います。
|
---|---|
type |
送信するキーイベントのタイプ。 使用できる値は
DOWN と UP と
DOWN_AND_UP です。
|
この端末をbootloadType
で指定したブートローダーに再起動します。
into | 再起動するブートローダーのタイプ。使用できる値は"bootloader"や "recovery"や "None"です。 |
---|
指定したパッケージを(そのデータとキャッシュも含めて)この端末から削除します。
package |
この端末にインストールされている.apk ファイルの Android パッケージ名。
|
---|
adb
シェルコマンドを実行し、結果があればそれを返します。
cmd |
adb シェルで実行するコマンド。このコマンドの形式については、 Android
Debug Bridgeのページで説明されています。
|
---|
渡された引数から作成したインテントを送信することで、この端末上でアクティビティを起動します。
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
()
type で設定したタッチイベントを、xとyで指定した画面位置へ送信します。
x | タッチの水平方向の位置を、実際の端末上でのピクセルで指定したもの。 画面の左側が座標の開始点となります。 |
---|---|
y | タッチの垂直方向の位置を、実際の端末上でのピクセルで指定したもの。 画面の上側が座標の開始点となります。 |
type |
送信するキーイベントのタイプ。使用できる値は、 DOWN と UP と
DOWN_AND_UP です。
|
まるで端末上のキーボードから入力されたかのように、message 内に含まれている文字をこの端末へ送信します。
これは、キーイベントタイプDOWN_AND_UP
を使って、message
内の各キーコードのpress()
を呼び出すのと同じ動きをします。
message | 送信する文字を含んだ文字列。 |
---|
この端末の画面を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 (Density-Independent Pixel)単位を端末の解像度に合わせるために使用されます。
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 時間(ミリ秒単位)。 |