based on UIAutomationRef.pdf
エレメントは階層構造になっている UIATarget.localTarget()を最上位とする
下記は同じ操作だが書き方が複数あったりする
- 例a)
UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0] - 例A)
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Edit"]
例えばボタンをタップする操作も書き方が色々ある
- 例b1)
UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0].tap(); - 例b2)
UIATarget.localTarget().frontMostApp().mainWindow().buttons()["Edit"].tap(); - 例b3)
var editButton=UIATarget.localTarget().frontMostApp().mainWindow().buttons()[0];
editButton.tap();
自動操作用のエレメントは階層構造になっているので、良くわからない時はツリー構造をログ出力してみると良い。
- logElementTreeメソッドが非常に便利 UIATarget.localTarget().frontMostApp().logElementTree()
UIALoggerクラスのメソッドを使ってテストのログを残すことができる。
後からテスト結果を分析する際に役に立つ。
- 例1) あるテストを開始する際にはlogStartメソッドを使う
UIALogger.logStart("Test1"); - 例2) あるテストを失敗させて終了させる場合にはlogFailメソッドを使う UIALogger.logFail("Failed to foo.");
- 例3) 汎用的なデバッグログを残す場合にはlogDebugメソッドを使う UIALogger.logDebug("Done with level 3.");
スクリプト上でアラートに遭遇した場合は、UIAAlertオブジェクトを使って対処することになる。アラートを適切に処理し、正常な場合は戻り値でtrueを返すこと。
Automation instrumentはシンプルなデフォルトハンドラを持っている。もし戻り値でfalseを返した場合は、このデフォルトハンドラが処理を行う。
デフォルトハンドラはキャンセルボタンがあればキャンセルボタンを押し、もしなければデフォルトボタンを押したこととして処理する。
以下のサンプルコードは、ログメッセージを出力してデフォルトハンドラに処理を任せる例
UIATarget.onAlert = function onAlert(alert) {
var title = alert.name();
// alertに遭遇するたびにWarningのログを出力して、スクリーンショットを保存
UIALogger.logWarning("Alert with title '" + title + "' encountered!");
UIATarget.localTarget().captureScreenWithName("alert_" + (new Date()).UTC());
// もし正常ならtrue、デフォルトハンドラに処理を任せるならfalseを返す
// (このサンプルコードでは常にfalseを返してデフォルトハンドラに任せている)
return false;
}
詳しい使用方法はInstruments User Guideの"Automation UI Testing"の項を参照のこと。
UIAElementの項を参照のこと
| メソッド | 説明 |
|---|---|
| (UIAButton) cancelButton() | Action Sheet内のキャンセルボタンを返す |
UIAElementの項を参照のこと
UIAElementの項を参照のこと
| メソッド | 説明 |
|---|---|
| (UIAButton) cancelButton() | Activity View内のキャンセルボタンを返す |
UIAElementの項を参照のこと
| メソッド | 説明 |
|---|---|
| (UIAButton) cancelButton() | Alert内のキャンセルボタンを返す |
| (UIAButton) defaultButton() | Alert内のデフォルトボタンを返す |
| メソッド | 説明 |
|---|---|
| (UIAActionSheet) actionSheet() | Action Sheetを返す |
| (UIAAlert) alert() | Alertを返す |
| (String) bundleID() | アプリのBundleIDを文字列で返す |
| (UIAEditingMenu) editingMenu() | アプリのEdit Menuを返す |
| (Number) interfaceOrientation() | 端末の方向を返す。端末右側が上に来るように回転させるのに必要な回転数を返す。 |
| (UIAKeyboard) keyboard() | アプリのKeyboardを返す |
| (UIAWindow) mainWindow() | アプリのメインのWindowを返す |
| (UIANavigationBar) navigationBar()) | アプリのNavigation Barを返す |
| (NotTyped) preferencesValueForKey(key) | アプリのUserPreferenceの値を取得する |
| (undefined) setPreferencesValueForKey(NotTyped value, String key) | アプリのUserPreferenceの値を設定する |
| (UIAStatusBar) statusBar() | アプリのStatus Barを返す |
| (UIATabBar) tabBar() | アプリのTab Barを返す |
| (UIAToolbar) toolbar() | アプリのTool Barを返す |
| (String) version() | アウリのバージョンを文字列で返す |
| (UIAElementArray) windows() | アプリのWindowを配列で返す |
UIAElementの項を参照のこと。
iOS6.0以降のみ有効
UIAElementの項を参照のこと
| メソッド | 説明 |
|---|---|
| (UIAElementArray) cells() | Collection Viewに含まれる要素を配列で返す |
| (UIAElementArray) visibleCells() | Collection Viewに含まれる表示中の要素を配列で返す |
UIAElementの項を参照のこと。
全てのユーザーインターフェースの要素の親クラスにあたる
| メソッド | 説明 |
|---|---|
| (UIAElementArray) activityIndicators() | オブジェクトに含まれているActivity Indicatorを配列で返す |
| (UIAActivityView) activityView() | 表示中のActivity Viewを返す |
| (UIAElementArray) ancestry() | オブジェクトの親を配列で返す |
| (UIAElementArray) buttons() | オブジェクトに含まれているButtonを配列で返す |
| (Boolean) checkIsValid() | 特定の要素が有効か(valid)を返す。Accessibility frameworkを呼び出してチェックする |
| (UIAElementArray collectionViews() | オブジェクトに含まれているCollection Viewを配列で返す |
| (undefined) doubleTap() | 特定の要素をダブルタップする |
| (undefined) dragInsideWithOptions(Object options) | 要素をドラッグする。optionsのキーと値は以下の通り: |
| touchCount: タッチ数。デフォルトは1。 | |
| duration: ドラッグ中にホールドする秒数。デフォルトは1。 | |
startOffset: ジェスチャの始点。デフォルトは{x:0.0, y:0.0}。値は左上端からの相対位置で0.0〜1.0の間で指定する。 |
|
| endOffset: ジェスチャの終点。デフォルトや値の指定方法はstartOffsetと同様。 | |
例) target.dragInsideWithOptions({startOffset:{x:0.0, y:0.1}, endOffset:{x:1.0, y:0.1}, duration:1.5}); |
|
| (UIAElementArray) elements() | オブジェクトに含まれている全要素を配列で返す |
| (undefined) flickInsideWithOptions(Object options) | 要素をフリックする。optionsのキーと値は以下の通り: |
| touchCount: タッチ数。デフォルトは1。 | |
startOffset: ジェスチャの始点。デフォルトは{x:0.0, y:0.0}。値は左上端からの相対位置で0.0〜1.0の間で指定する。 |
|
| endOffset: ジェスチャの終点。デフォルトや値の指定方法はstartOffsetと同様。 | |
例) target.flickInsideWithOptions({startOffset:{x:0.5, y:0.9}, endOffset:{x:1.0, y:0.9}}); |
|
| (Number) hasKeyboardFocus() | 特定の要素がキーボード入力のフォーカスを得ているか判断する。キーボード入力を受け付ける状態なら1、そうでなければ0、そもそも無効な状態ならnullを返す |
| (Point) hitpoint() | 特定の要素をタップするためのスクリーン上の位置を返す |
| (UIAElementArray) images() | オブジェクトに含まれているImageを配列で返す |
| (Number) isEnabled() | 特定の要素がEnabledかを返す。Enableなら1、そうでなければ0、そもそも無効な状態ならnullを返す |
| (Boolean) isValid() | 特定の要素の、最後にアクセスした際のバリデーションの状態を返す。最新の存在を取得する際には、代わりにcheckIsValidメソッドを使うこと。 |
| (Number) isVisible() | 特定の要素がスクリーンに表示されているか判断する。スクリーン上に表示されていれば1, そうでなければ0、そもそも無効な状態ならnullを返す |
| (String) label() | 要素のlabel属性に含まれている文字列を返す |
| (UIAElementArray) links() | オブジェクトに含まれているLinkを配列で返す |
| (undefined) logElement() | 特定の要素の情報をログ出力する |
| (undefined) logElementTree() | 特定の要素とその子要素全てについての情報をログ出力する |
| (String) name() | 要素のname属性に含まれる文字列を返す。より詳しい情報はUIAccessibilityIdentification Protocol Referenceを参照のこと。 |
| (UIAElement) navigationBar() | そのアプリのNavigation Barを返す |
| (UIAElementArray) navigationBars() | オブジェクトに含まれているNavigation Barを配列で返す |
| (UIAElementArray) pageIndicators() | オブジェクトに含まれているPage Indicatorを配列で返す |
| (UIAElement) parent() | 特定の要素の親を返す |
| (UIAElementArray) pickers() | オブジェクトに含まれているPickerオブジェクトを配列で返す |
| (UIAPopover) popover() | オブジェクトに関連付けされているPopOverオブジェクトを返す |
| (UIAElementArray) progressIndicators() | オブジェクトに含まれているProgress indicatorを配列で返す |
| (Rect) rect() | そのオブジェクトのメインスクリーン上の位置を返す。Rectの形式は以下の通り: {origin:{x:xposition,y:yposition}, size:{width:widthvalue, height:heightvalue}} |
| (undefined) rotateWithOptions(Object options) | 特定の要素を中心に回転のジェスチャーを行う。optionsのキーと値は以下の通り: |
centerOffset: ジェスチャの中心点。デフォルトは{x:0.0, y:0.0}。値は左上端からの相対位置で0.0〜1.0の間で指定する。 |
|
| duration: ドラッグ中にホールドする秒数。デフォルトは1。 | |
| radius: 中心点からの円周までの距離。 | |
| rotaion: ラジアンでの回転の大きさ。デフォルトはpi(π)。 | |
| touchCount: タッチ数。有効な値は1から5まで。デフォルトは2。 | |
| (undefined) scrollToVisible() | 特定の要素がコンテナビュー内で表示されるようスクロールする。このメソッドはTableやWebViewで使用する。 |
| (UIAElementArray) scrollViews() | オブジェクトに含まれているScroll Viewを配列で返す |
| (UIAElementArray) searchBars() | オブジェクトに含まれているSearch Barを配列で返す |
| (UIAElementArray) secureTextFields() | オブジェクトに含まれているSecure Text Fieldを配列で返す |
| (UIAElementArray) segmentedControls() | オブジェクトに含まれているSegment Controlを配列で返す |
| (UIAElementArray) sliders() | オブジェクトに含まれているSliderを配列で返す |
| (UIAElementArray) staticTexts() | オブジェクトに含まれているStatic Textを配列で返す |
| (UIAElementArray) switches() | オブジェクトに含まれているSwitchを配列で返す |
| (UIAElement) tabBar() | Tab Barを返す |
| (UIAElementArray) tabBars() | オブジェクトに含まれているTab Barを配列で返す |
| (UIAElementArray) tableViews() | オブジェクトに含まれているTable Viewを配列で返す |
| (undefined) tap() | 特定の要素をタップする |
| (undefined) tapWithOptions(Object options) | 特定の要素をジェスチャー等の属性付きでタップする |
| tapCount: タップで叩く回数。デフォルトは1(シングルタップ)。 | |
| touchCount: 同時にタッチする数。デフォルトは1。 | |
| duration: タップ中にホールドする秒数。デフォルトは0。 | |
tapOffset: タップするオフセット位置。デフォルトは{x:0.0, y:0.0} |
|
二本指で3回タップする例1) element.tapWithOptions({touchCount:2, tapCount:3}); |
|
二本指で3回タップする例2) element.tapWithOptions({touchCount:2, tapCount:3, tapOffset:{x:0.75, y:0.25}}); |
|
| (UIAElementArray) textFields() | オブジェクトに含まれているText Fieldを配列で返す |
| (UIAElementArray) textViews() | オブジェクトに含まれているText Viewを配列で返す |
| (UIAElement) toolbar() | Tool Barを返す |
| (UIAElementArray) toolbars() | オブジェクトに含まれているTool Barを配列で返す |
| (undefined) touchAndHold(Number duration) | 指定した間だけ、特定の要素を長押しする。durationは秒数で指定する。デフォルトは1。 |
| (undefined) twoFingerTap() | その要素上で2点タップする |
| (String) value() | 要素のvalue属性に含まれる文字列を返す。Switchの場合はONで1,OFFで0を返す。 |
| (Boolean) waitForInvalid() | 特定の要素が無効になる(invalid)まで待機する。タイムアウトは現在設定中のtimeout値が使われる。戻り値は? |
| (UIAElementArray) webViews() | オブジェクトに含まれているWeb Viewを配列で返す |
| (UIAElement) withName(String name) | 指定の文字列に合致するname属性を持つ要素を返す。マッチしない場合は、タイムアウトするまでリトライする。 |
| (UIAElement) withPredicate(PredicateString predicateString) | 指定の条件に合致する要素を返す。マッチしない場合は、タイムアウトするまでリトライする。条件の詳細は(Predicate Programming Guide)[https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Predicates/predicates.html]を参照のこと。 |
| (UIAElement) withValueForKey(NotTyped value, String key) | 指定のプロパティに指定の値を持つ要素を返す。value,key共に文字列を指定する。マッチしない場合は、タイムアウトするまでリトライする。 |
複数のUIAElementオブジェクトを配列で管理するためのクラス。 key/valueのペアもしくは名前で検索することもできるし、特定の条件で検索することもできる。 検索条件の詳細については、(Predicate Programming Guide)[https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Predicates/predicates.html]を参照のこと。
UIAElementArrayは、JavaScriptの省略形の文法を使用することができる。
- ドット+要素名で参照
var okButton = buttons.OK; - ブランケット+インデックスで参照
var firstElement = elements[0]; - ブランケット+名前で参照
var helloWorldText = staticTexts["Hello World"];
| プロパティ | 説明 |
|---|---|
| length | 配列の要素数 |
| メソッド | 説明 |
|---|---|
| (UIAElement) firstWithName(String name) | 指定したキーに最初に合致する要素を返す |
| (UIAElement) firstWithPredicate(PredicateString predicateString) | 指定した条件に合致する要素を返す。詳細は(Predicate Programming Guide)[https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Predicates/predicates.html]を参照のこと。 |
| (UIAElement) firstWithValueForKey(NotTyped value, String key) | 特定のキー値がvalueに合致する最初の要素を返す |
| (Array) toArray() | JavaScriptのArrayに変換して返す |
| (UIAElementArray) withName(String name) | 指定したキーに合致する要素を配列で返す |
| (UIAElementArray) withPredicate(PredicateString predicateString) | 指定した条件に合致する要素を配列で返す |
| (UIAElementArray) withValueForKey(NotTyped value, String key) | 特定のキー値がvalueに合致する要素を配列で返す |
| 定数 | 説明 |
|---|---|
| UIAElementNil | UIAElementオブジェクトやUIAElementArrayで要素を取得した場合に、該当する要素がなかった場合やタイムアウト時に返却されるオブジェクト。JavaScriptでは存在しないメソッドをコールすると例外が発生するが、このオブジェクトはメソッドコール自体で例外は発生させない。 |
- UIAElementNilについてのサンプルコードは下記の通り。"Back"に該当するボタンが存在しない場合を想定している。
var backButton = UIATarget.localTarget().frontMostApp().navigationBar().buttons()["Back"];
if (backButton.isValid()) {
backButton.tap();
} else {
UIALogger.logError("Could not find 'Back' button!");
}
UIAHostクラスはAutomationを実行しているホストコンピュータへ限定的なアクセスを提供する。
| メソッド | 説明 |
|---|---|
| (object) performTaskWithPathArgumentsTimeout(path, args, timeout) | ホスト上でAutomation Instrumentプロセスからタスクを実行する。戻り値のオブジェクトはexitCodeプロパティ、stdoutプロパティ、stderrプロパティを持つ。 |
| path: 実行するコードのパス。ホストのブートデバイスのルートレベルからの相対位置 | |
| args: 実行するコードに渡す引数の配列 | |
| timeout: タイムアウトまで待つ秒数 |
- performTaskWithPathArgumentsTimeoutを使うサンプルコードは下記の通り。
var target = UIATarget.localTarget();
var host = target.host();
var result = host.performTaskWithPathArgumentsTimeout("/usr/bin/echo", ["Hello World"], 5);
UIALogger.logDebug("exitCode: " + result.exitCode);
UIALogger.logDebug("stdout: " + result.stdout);
UIALogger.logDebug("stderr: " + result.stderr);
iOS 4.0以降のみ有効
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAElementArray) keys() | キーボードで表示中のキーを配列で返す |
| (undefined) typeString(String string) | 指定した文字列をキーボード上でタップして入力する |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (String) url() | 含まれるURLを文字列で返す |
ログ出力に使用するクラス
| メソッド | 説明 |
|---|---|
| (undefined) logDebug(String message) | debugレベルのメッセージをログ出力する |
| (undefined) logError(String message) | errorレベルのメッセージをログ出力する |
| (undefined) logFail(String message) | テストが失敗で終了したことをログ出力する |
| (undefined) logIssue(String message) | テストが異常終了したことをログ出力する |
| (undefined) logMessage(String message) | messageレベルのメッセージをログ出力する |
| (undefined) logPass(String message) | テストが成功で終了したことをログ出力する |
| (undefined) logStart(String message) | テストが開始されたことをログ出力する |
| (undefined) logWarning(String message) | warningレベルのメッセージをログ出力する |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAButton) leftButton() | Navigation Barの左ボタンを返す |
| (UIAButton) rightButton() | Navigation Barの右ボタンを返す |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) goToNextPage() | 次のページへ移動する |
| (undefined) goToPreviousPage() | 前のページヘ移動する |
| (Number) pageCount() | ページ数を返す |
| (Number) pageIndex() | 現在のページ番号を返す |
| (undefined) selectPage(Number index) | indexで指定したページ番号へ移動する |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAElementArray) wheels() | ピッカーで表示中のWheelを配列で返す |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) selectValue(?) | 指定した値の最初の行までドラッグする。このメソッドはiOS5以前のUIADatePickerではサポートされていない。 |
| (Array) values() | Wheelで選択可能なアイテムを配列で返す。このメソッドはiOS5以前のUIADatePickerではサポートされていない。 |
iOS4.0以降のみ有効
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAActionSheet) actionSheet() | PopOver上のAction Sheetを返す |
| (void) dismiss() | PopOverの外側をタップしてPopOverを閉じる |
| (UIANavigationBar) navigationBar() | PopOver上のNavigtaion Barを返す |
| (UIATabBar) tabBar() | PopOver上のTab Barを返す |
| (UIAToolbar) toolbar() | PopOver上のTool Barを返す |
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) scrollDown() | 下方向にスクロールする |
| (undefined) scrollLeft() | 左方向にスクロールする |
| (undefined) scrollRight() | 右方向にスクロールする |
| (UIAElement) scrollToElementWithName(String name) | 指定したnameと合致する要素がスクリーン上に表示されるまでスクロールする |
| (UIAElement) scrollToElementWithPredicate(PredicateString predicateString) | 指定した条件に合致する要素がスクリーン上に表示されるまでスクロールする。条件の詳細は(Predicate Programming Guide)[https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Predicates/predicates.html]を参照のこと。 |
| (UIAElement) scrollToElementWithValueForKey(NotTyped value, String key) | 指定のプロパティに指定の値を持つ要素がスクリーン上に表示されるまでスクロールする |
| (undefined) scrollUp() | 上方向にスクロールする |
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAElement) selectedButton() | 現在選択しているButtonを返す |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) dragToValue(Number value) | 特定の値までドラッグする。valueには0から1までの数値を指定する。左端が0、右端が1を表す。 |
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) setValue(Boolean value) | Switchに指定した値を設定する。trueがON、falseがOFFを表す。 |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAButton) selectedButton() | 現在選択中のTab Barを返す |
iOS4.0以降のみ有効
画面表示外に新しいTable Cell要素を追加した場合、それをスクリプトから参照しようとしても失敗する。一度そのCellがレンダリングされるまでは参照できない。 この問題を回避するには、新しいTable CellにAccessibilityLabel属性を設定すれば良い。より詳しい情報はUIAccessibilityIdentification Protocol Referenceを参照のこと。
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (UIAElementArray) cells() | Table View上の全てのTable Cellを配列で返す |
| (UIAElementArray) groups() | Table View上の全てのgroupを配列で返す |
| (UIAElementArray) visibleCells() | スクリーン上に表示されているTable Cellを配列で返す |
iOS4.0以降のみ有効
システム管理下テスト(system under test = SUT)での最上位レベルの要素。
| メソッド | 説明 |
|---|---|
| (undefined) captureRectWithName(Rect rect, String imageName) | 指定した矩形のスクリーンショットを取得する。Rectオブジェクトの形式は {origin:{x:xposition,y:yposition}, size:{width:widthvalue, height:heightvalue}} を参考のこと。imageNameには保存するファイル名を指定する。スクリーンショットはPNGファイルとして保存される。 |
| (undefined) captureScreenWithName(String imageName) | 全体のスクリーンショットを取得する。imageNameには保存するファイル名を指定する。スクリーンショットはPNGファイルとして保存される。 |
| (undefined) clickVolumeDown() | ハードウェアボタンのボリュームダウンボタンを押す |
| (undefined) clickVolumeUp() | ハードウェアボタンのボリュームアップボタンを押す |
| (Boolean) deactivateApp(Number duration) | 指定した秒数だけアプリを非アクティブ状態にする。アプリがバックグラウンドになったケースをテストする事ができる。このメソッドはiOS4.0以降のみ動作する。 |
| (Boolean) delay(Number timeInterval) | 指定した秒数だけテストスクリプト内で待機する |
| (Number deviceOrientation) deviceOrientation() | デバイスの方向を返す。戻り値は下記定数を参照のこと。 |
| UIA_DEVICE_ORIENTATION_UNKNOWN : 回転方向が不明 | |
| UIA_DEVICE_ORIENTATION_PORTRAIT : HOMEボタンが下になるように縦置き | |
| UIA_DEVICE_ORIENTATION_PORTRAIT_UPSIDEDOWN : 逆置き | |
| UIA_DEVICE_ORIENTATION_LANDSCAPELEFT : HOMEボタンが右側になるように横置き | |
| UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT : HOMEボタンが左側になるように横置き | |
| UIA_DEVICE_ORIENTATION_FACEUP : 表向き(地面と水平にして空を向く) | |
| UIA_DEVICE_ORIENTATION_FACEDOWN : 裏向き(地面と水平にして地を向く) | |
| (undefined) doubleTap(Object tapPointObject) | スクリーン上をダブルタップする。引数にはRect, Point, UIAElementのいずれかを指定する |
| (undefined) dragFromToForDuration(fromPointObject, toPointObject, Number duration) | スクリーン上の指定した始点から終点までドラッグする。 |
| fromPointObject: ドラッグする始点のRectを指定する | |
| toPointObject: ドラッグする終点のRectを指定する | |
| duration: ドラッグする時間を秒で指定する | |
| (undefined) flickFromTo(fromPointObject, toPointObject) | スクリーン上の指定した始点から終点までをフリックする |
| fromPointObject: ドラッグする始点のRectを指定する | |
| toPointObject: ドラッグする終点のRectを指定する | |
| (UIAApplication) frontMostApp() | 表示中のアプリケーション(UIAApplicationオブジェクト)を返す |
| (undefined) holdVolumeDown(Number duration) | 指定した秒数の間、ボリュームダウンボタンを長押する |
| (undefined) holdVolumeUp(Number duration) | 指定した秒数の間、ボリュームダウンボタンを長押する |
| (UIAHost) host() | 現在のターゲットのホストを返す |
| (UIATarget) localTarget() | 現在のテスト管理下にあるターゲットを返す |
| (undefined) lock() | lockイベントを使用して、デバイスをロックする。このメソッドは非推奨。lockForDurationメソッドを代わりに使用するべき。 |
| (undefined) lockForDuration(Number duration) | lockイベントを使用して、指定した秒数だけデバイスをロックする。このメソッドはlockメソッド、unlockメソッドの代わりに使われる。 |
| (String) model() | デバイスのモデル名を文字列で返す。例えば、iPhone、iPod touchなど。 |
| (String) name() | ユーザによって指定されたデバイス名を文字列で返す。 |
| (undefined) pinchCloseFromToForDuration(fromPointObject, toPointObject, Number duration) | スクリーン上の指定した位置でピンチイン(ピンチクローズ)を行う |
| fromPointObject: ピンチインする始点のRectを指定する | |
| toPointObject: ピンチインする終点のRectを指定する | |
| duration: ピンチインする時間を秒で指定する | |
| (undefined) pinchOpenFromToForDuration(fromPointObject, toPointObject, Number duration) | スクリーン上の指定した位置でピンチアウト(ピンチオープン)を行う |
| fromPointObject: ピンチアウトする始点のRectを指定する | |
| toPointObject: ピンチアウトする終点のRectを指定する | |
| duration: ピンチアウトする時間を秒で指定する | |
| (Number) popTimeout() | タイムアウト時間をスタックから取り出し、以前のタイムアウト値に戻す。戻り値は、最後にpushTimeoutメソッドで入れたタイムアウト値。 |
| (undefined) pushTimeout(timeoutValue) | タイムアウト時間をスタックに保存し、現在のタイムアウト値を更新する。引数はタイムアウトを秒で指定する。デフォルトのタイムアウト値は2秒だが、このメソッドを利用することでタイムアウト値を更新することができる。 |
| (Rect) rect() | デバイスのメインスクリーンの矩形を返す |
| (undefined) rotateWithOptions(Object location, Object options) | 回転のジェスチャーを行う。locationにはPointオブジェクト(例: {x:pointX, y:pointY})を指定する。optionsは下記の通り: |
| duration: ドラッグ中にホールドする秒数。デフォルトは1。 | |
| radius: 中心点からの円周までの距離。 | |
| rotaion: ラジアンでの回転の大きさ。デフォルトはpi(π)。 | |
| touchCount: タッチ数。有効な値は1から5まで。デフォルトは2。 | |
| (undefined) setDeviceOrientation(Number deviceOrientation) | デバイスの方向を指定する。指定するdeviceOrientationは下記定数のいずれかを指定する |
| UIA_DEVICE_ORIENTATION_UNKNOWN : 回転方向が不明 | |
| UIA_DEVICE_ORIENTATION_PORTRAIT : HOMEボタンが下になるように縦置き | |
| UIA_DEVICE_ORIENTATION_PORTRAIT_UPSIDEDOWN : 逆置き | |
| UIA_DEVICE_ORIENTATION_LANDSCAPELEFT : HOMEボタンが右側になるように横置き | |
| UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT : HOMEボタンが左側になるように横置き | |
| UIA_DEVICE_ORIENTATION_FACEUP : 表向き(地面と水平にして空を向く) | |
| UIA_DEVICE_ORIENTATION_FACEDOWN : 裏向き(地面と水平にして地を向く) | |
| (boolean) setLocation(coordinates) | デバイスのロケーションを設定する。coordinatesは下記キーを持つオブジェクト |
| latitude: 緯度を指定する。正の値は赤道より北の方向を示し、負の値は赤道より南の方向を示す | |
| longitude: 軽度を指定する。正の値は基準子午線の西へ伸びる方向を示し、負の値は東へ伸びる方向を示す。 | |
| (boolean) setLocationWithOptions(coordinates, options) | オプション指定でロケーションを指定する。coodinatesの値はsetLocationメソッドと同様。optionsは下記キーを持つオブジェクトを指定する: |
| altitude: 高さをメートルで指定する。正の値は海面からの高さを示し、負の値は海面から低いことを示す | |
| horizontalAccuracy: 水平方向の精度の範囲をメートルで指定する。負の値は無効 | |
| verticalAccuracy: 垂直方向の精度の範囲をメートルで指定する。負の値は無効 | |
| course: デバイスが移動している方向を指定する | |
| speed: デバイスが移動している速度をメートル/秒で指定する | |
| (undefined) setTimeout(Number timeout) | タイムアウト値を秒で指定する |
| (undefined) shake() | デバイスをシェイクする。UIEventSubtypeMotionShakeイベントが発生するが、加速度計には影響しない |
| (String) systemName() | デバイスが動作しているOSを文字列で返す |
| (String) systemVersion() | デバイスが動作しているOSのバージョンを文字列で返す。例: 1.2 |
| (undefined) tap(Object tapPointObject) | 指定した要素をタップする。引数にはRect, Point, UIAElementのいずれかを指定する |
| (undefined) tapWithOptions(Object tapPointObject, Object options) | オプション指定でタップする。tapPointObjectはtapメソッドと同様。optionsは下記キーを持つオブジェクトを示す: |
| tapCount: タップで叩く回数。デフォルトは1(シングルタップ)。 | |
| touchCount: 同時にタッチする数。デフォルトは1。 | |
| duration: タップ中にホールドする秒数。デフォルトは0。 | |
| (Number) timeout() | 現在のタイムアウト値を返す |
| (undefined) touchAndHold(Object tapPointObject, Number duration) | 指定した位置でタッチ&ホールド(長押し)する。tapPointObjectにはRect, Point, UIAElementのいずれかを指定する。durationは長押しする秒数を指定する |
| (undefined) unlock() | デバイスをアンロックする。このメソッドは非推奨。lockForDurationを代わりに使うべき。 |
| イベントハンドラ | 説明 |
|---|---|
| (Boolean) onAlert(UIAAlert alert) | アラートが表示された際に呼び出されるイベントハンドラ。戻り値でtrueを返した場合は成功、falseを返した場合はさらにデフォルトハンドラに処理が渡される。デフォルトハンドラはもしデフォルトボタンがあればそれを押すか、キャンセルボタンがあればそれを押す。いずれも存在しなければアラートは消えずに例外が発生する。 |
| 定数 | 説明 |
|---|---|
| UIA_DEVICE_ORIENTATION_UNKNOWN | 回転方向が不明 |
| UIA_DEVICE_ORIENTATION_PORTRAIT | HOMEボタンが下になるように縦置き |
| UIA_DEVICE_ORIENTATION_PORTRAIT_UPSIDEDOWN | 逆置き |
| UIA_DEVICE_ORIENTATION_LANDSCAPELEFT | HOMEボタンが右側になるように横置き |
| UIA_DEVICE_ORIENTATION_LANDSCAPERIGHT | HOMEボタンが左側になるように横置き |
| UIA_DEVICE_ORIENTATION_FACEUP | 表向き(地面と水平にして空を向く) |
| UIA_DEVICE_ORIENTATION_FACEDOWN | 裏向き(地面と水平にして地を向く) |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) setValue(String value) | Text Fieldに文字列を設定する |
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (undefined) setValue(String value) | Text Viewに文字列を設定する |
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
UIAElementの項を参照のこと。
| メソッド | 説明 |
|---|---|
| (Rect) contentArea() | Windowのエリア(Navigation Barより下、Tab BarもしくはTool Barより上)の矩形を返す |
| (UIANavigationBar) navigationBar() | アプリ上のNavigation Barを返す |
| (UIAElementArray) navigationBars() | アプリ上のNavigation Barを配列で返す |
| (UIATabBar) tabBar() | アプリ上のTab Barを返す |
| (UIAElementArray) tabBars() | アプリ上のTab Barを配列で返す |
| (UIAToolbar) toolbar() | アプリ上のTool Barを返す |
| (UIAElementArray) toolbars() | アプリ上のTool Barを配列で返す |