Google UI Automator のメインクラスを紹介する
5510 ワード
目的
- 本文はGoogle Ui Automatorのクラスについて紹介して、具体的な使い方を説明しない
Google UI Automatorとは
- Googleが開発しているAndroid向け自動UIテストフレームワークです。
- Espressoと違いは、自分のアプリをテストできてその他のアプリもテストできる
- Ui Automator Viewを使ってアプリのresource id、textなど要素情報を取得できる
- Android ChromeもUIテストできて、twitterやFBのログインテストに対してとても助かる
リンク
メインクラス
- UiDevice
- Configurator
- --
- By
- BySelector
- UiObject2
- Until
- --
- UiObject
- UiCollection
- UiScrollable
- UiSelector
詳細説明
UiDevice
目的
- テスト中にデバイスのステータス情報を取得できる
主なメソッド
- device.pressHome()
- home键
- device.pressBack()
- back键
- device.swipe(200,0,200, 300,180)
- 下にスワィプして通知欄を表示する
Configurator
目的
- 各動作の遅延とタイムアウトの値を設定する
主なメソッド
- setActionAcknowledgmentTimeout(long timeout)
- 動作タイムアウト、例えば、クリック、ボタンを押す、本文入力
- デフォルトは3s
- setKeyInjectionDelay(long delay)
- キーボード入力の遅延設定
- デフォルトは0s
- setScrollAcknowledgmentTimeout(long timeout)
- スクロール動作タイムアウト設定
- デフォルトは200ms
- setWaitForIdleTimeout(long timeout)
- デフォルトは10s
- setWaitForSelectorTimeout(long timeout)
- デフォルトは10s
UiObject vs UiObject2
目的
- アクションを実行する
区別
どうなものか
- UiObject
- ビューの表現である。再利用できる
- 例えば、ダイアログ表示ボタンのUiObjectインスタンスで新しいダイアログを開けて閉じて、同じボタンのUiObjectインスタンスで再利用して操作できる
- UiObject2
- 要素の表現であ流。再利用できない
- 上記の同じ例で、開けたダイアログを閉じた後に、以前作ったUiObject2インスタンスを再利用できなくて、新いUiObject2インスタンスの作成が必要
Objectを探す
- UiObject
- 以下の方法で探したいOjbectが表示されるかどうかことを確認できる
var ob = UiDevice.findObject(UiSelector)
if (ob.waitForExists(timeout)){
ob.click()
}
- UiObject2
UiDevice.wait(Until.findObject(SearchCondition, timeout)
スクロール
-
UiObject
- UiObjectのサブクラス: UiScrollableでいろいろな画面を操作できる
- 画面に存在していない要素は、scrollIntoViewメソッドで簡単に画面に移動できる
-
UiObject2
- UiObject2.swipe(Direction, percentage)
- UiObject2.scroll(Direction, percentage)
- 上記の二つのメソッドで、numberpickerやscrollviewなど画面を操作できる
BySelector vs. UiSelector
目的
- 検索条件設定用クラス
- UiSelector
- UiObject用のオブジェクト検索条件
- 例: UiDevice.findObject(UiSelector)
- BySelector
- UiObject2用のオブジェクト検索条件
- 例: UiDevice.findObject(BySelector)
By vs. BySelector
- BySelectorのユーティリティクラス
- 使うことが簡単
- Googleが開発しているAndroid向け自動UIテストフレームワークです。
- Espressoと違いは、自分のアプリをテストできてその他のアプリもテストできる
- Ui Automator Viewを使ってアプリのresource id、textなど要素情報を取得できる
- Android ChromeもUIテストできて、twitterやFBのログインテストに対してとても助かる
リンク
メインクラス
- UiDevice
- Configurator
- --
- By
- BySelector
- UiObject2
- Until
- --
- UiObject
- UiCollection
- UiScrollable
- UiSelector
詳細説明
UiDevice
目的
- テスト中にデバイスのステータス情報を取得できる
主なメソッド
- device.pressHome()
- home键
- device.pressBack()
- back键
- device.swipe(200,0,200, 300,180)
- 下にスワィプして通知欄を表示する
Configurator
目的
- 各動作の遅延とタイムアウトの値を設定する
主なメソッド
- setActionAcknowledgmentTimeout(long timeout)
- 動作タイムアウト、例えば、クリック、ボタンを押す、本文入力
- デフォルトは3s
- setKeyInjectionDelay(long delay)
- キーボード入力の遅延設定
- デフォルトは0s
- setScrollAcknowledgmentTimeout(long timeout)
- スクロール動作タイムアウト設定
- デフォルトは200ms
- setWaitForIdleTimeout(long timeout)
- デフォルトは10s
- setWaitForSelectorTimeout(long timeout)
- デフォルトは10s
UiObject vs UiObject2
目的
- アクションを実行する
区別
どうなものか
- UiObject
- ビューの表現である。再利用できる
- 例えば、ダイアログ表示ボタンのUiObjectインスタンスで新しいダイアログを開けて閉じて、同じボタンのUiObjectインスタンスで再利用して操作できる
- UiObject2
- 要素の表現であ流。再利用できない
- 上記の同じ例で、開けたダイアログを閉じた後に、以前作ったUiObject2インスタンスを再利用できなくて、新いUiObject2インスタンスの作成が必要
Objectを探す
- UiObject
- 以下の方法で探したいOjbectが表示されるかどうかことを確認できる
var ob = UiDevice.findObject(UiSelector)
if (ob.waitForExists(timeout)){
ob.click()
}
- UiObject2
UiDevice.wait(Until.findObject(SearchCondition, timeout)
スクロール
-
UiObject
- UiObjectのサブクラス: UiScrollableでいろいろな画面を操作できる
- 画面に存在していない要素は、scrollIntoViewメソッドで簡単に画面に移動できる
-
UiObject2
- UiObject2.swipe(Direction, percentage)
- UiObject2.scroll(Direction, percentage)
- 上記の二つのメソッドで、numberpickerやscrollviewなど画面を操作できる
BySelector vs. UiSelector
目的
- 検索条件設定用クラス
- UiSelector
- UiObject用のオブジェクト検索条件
- 例: UiDevice.findObject(UiSelector)
- BySelector
- UiObject2用のオブジェクト検索条件
- 例: UiDevice.findObject(BySelector)
By vs. BySelector
- BySelectorのユーティリティクラス
- 使うことが簡単
- UiDevice
- Configurator
- --
- By
- BySelector
- UiObject2
- Until
- --
- UiObject
- UiCollection
- UiScrollable
- UiSelector
詳細説明
UiDevice
目的
- テスト中にデバイスのステータス情報を取得できる
主なメソッド
- device.pressHome()
- home键
- device.pressBack()
- back键
- device.swipe(200,0,200, 300,180)
- 下にスワィプして通知欄を表示する
Configurator
目的
- 各動作の遅延とタイムアウトの値を設定する
主なメソッド
- setActionAcknowledgmentTimeout(long timeout)
- 動作タイムアウト、例えば、クリック、ボタンを押す、本文入力
- デフォルトは3s
- setKeyInjectionDelay(long delay)
- キーボード入力の遅延設定
- デフォルトは0s
- setScrollAcknowledgmentTimeout(long timeout)
- スクロール動作タイムアウト設定
- デフォルトは200ms
- setWaitForIdleTimeout(long timeout)
- デフォルトは10s
- setWaitForSelectorTimeout(long timeout)
- デフォルトは10s
UiObject vs UiObject2
目的
- アクションを実行する
区別
どうなものか
- UiObject
- ビューの表現である。再利用できる
- 例えば、ダイアログ表示ボタンのUiObjectインスタンスで新しいダイアログを開けて閉じて、同じボタンのUiObjectインスタンスで再利用して操作できる
- UiObject2
- 要素の表現であ流。再利用できない
- 上記の同じ例で、開けたダイアログを閉じた後に、以前作ったUiObject2インスタンスを再利用できなくて、新いUiObject2インスタンスの作成が必要
Objectを探す
- UiObject
- 以下の方法で探したいOjbectが表示されるかどうかことを確認できる
var ob = UiDevice.findObject(UiSelector)
if (ob.waitForExists(timeout)){
ob.click()
}
- UiObject2
UiDevice.wait(Until.findObject(SearchCondition, timeout)
スクロール
-
UiObject
- UiObjectのサブクラス: UiScrollableでいろいろな画面を操作できる
- 画面に存在していない要素は、scrollIntoViewメソッドで簡単に画面に移動できる
-
UiObject2
- UiObject2.swipe(Direction, percentage)
- UiObject2.scroll(Direction, percentage)
- 上記の二つのメソッドで、numberpickerやscrollviewなど画面を操作できる
BySelector vs. UiSelector
目的
- 検索条件設定用クラス
- UiSelector
- UiObject用のオブジェクト検索条件
- 例: UiDevice.findObject(UiSelector)
- BySelector
- UiObject2用のオブジェクト検索条件
- 例: UiDevice.findObject(BySelector)
By vs. BySelector
- BySelectorのユーティリティクラス
- 使うことが簡単
- home键
- back键
- 下にスワィプして通知欄を表示する
- 動作タイムアウト、例えば、クリック、ボタンを押す、本文入力
- デフォルトは3s
- キーボード入力の遅延設定
- デフォルトは0s
- スクロール動作タイムアウト設定
- デフォルトは200ms
- デフォルトは10s
- デフォルトは10s
- ビューの表現である。再利用できる
- 例えば、ダイアログ表示ボタンのUiObjectインスタンスで新しいダイアログを開けて閉じて、同じボタンのUiObjectインスタンスで再利用して操作できる
- 要素の表現であ流。再利用できない
- 上記の同じ例で、開けたダイアログを閉じた後に、以前作ったUiObject2インスタンスを再利用できなくて、新いUiObject2インスタンスの作成が必要
- 以下の方法で探したいOjbectが表示されるかどうかことを確認できる
var ob = UiDevice.findObject(UiSelector)
if (ob.waitForExists(timeout)){
ob.click()
}
UiDevice.wait(Until.findObject(SearchCondition, timeout)
UiObject
- UiObjectのサブクラス: UiScrollableでいろいろな画面を操作できる
- 画面に存在していない要素は、scrollIntoViewメソッドで簡単に画面に移動できる
UiObject2
- UiObject2.swipe(Direction, percentage)
- UiObject2.scroll(Direction, percentage)
- 上記の二つのメソッドで、numberpickerやscrollviewなど画面を操作できる
- UiObject用のオブジェクト検索条件
- 例: UiDevice.findObject(UiSelector)
- UiObject2用のオブジェクト検索条件
- 例: UiDevice.findObject(BySelector)
Author And Source
この問題について(Google UI Automator のメインクラスを紹介する), 我々は、より多くの情報をここで見つけました https://qiita.com/alingogo/items/17de22965396c82fd78a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .