UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.tradefed.testtype.UiAutomatorRunner


デバイスで UI Automator テストを実行し、結果をレポートします。UI Automator テストは、UI Automator フレームワークを利用する UI 自動化テストを実行するための専用のテストランナーです。デバイス上のテストランナーは、インストゥルメンテーション テストの出力形式をエミュレートするため、ddmlib と TF の既存の解析コードを再利用できます。これは基本的に、次のコマンドのラッパーです。 adb shell uiautomator runtest (jar files) -e class (test classes) ...

概要

パブリック コンストラクタ

UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)

UI 自動化テストを実行するための UiAutomatorRunner を作成します。

パブリック メソッド

void addBooleanArg(String name, boolean value)

計測コマンドに含めるブール値引数を追加します。

void addInstrumentationArg(String name, String value)

計測コマンドに含める引数を追加します。

void cancel()

このテスト実行のキャンセルをリクエストします。

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

ランナーによって生成されるテスト カバレッジのタイプを返します。

String getPackageName()

最後に追加された Java クラスのパッケージ名を返します。

String getRunnerName()

デフォルトの UiAutomatorTestRunner クラス名を返します。

void removeInstrumentationArg(String name)

以前に追加された引数を削除します。

void run(ITestRunListener... listeners)

このテスト実行を実行します。

void run( listeners)

このテスト実行を実行します。

void setAdditionalTestOutputLocation(String additionalTestDataPath)

テストアプリがアンインストールされる前にホストにコピーされる追加のテスト出力の場所を設定します。

void setClassName(String className)

このクラスのテストのみを実行するように設定します。'run' の前に呼び出す必要があります。

void setClassNames(String[] classNames)

指定されたクラス内のテストのみを実行するように設定します。'run' の前に呼び出す必要があります。

void setCoverage(boolean coverage)

このテスト実行のコード カバレッジ モードを設定します。

void setCoverageReportLocation(String arg0)

生成されたカバレッジ レポートの場所を設定します。

void setDebug(boolean debug)

このテスト実行のデバッグモードを設定します。

void setIgnoreSighup(boolean value)

uiautomator で SIGHUP を無視するオプションを設定します。

void setLogOnly(boolean logOnly)

このテスト実行をログ専用モードに設定します。テストの実行はスキップされます。

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

デバイスでテストを実行するシェル コマンドの出力間の最大許容時間を設定します。

void setMaxTimeout(long maxTimeout, TimeUnit unit)

計測が完了するまでの最大許容時間を設定します。

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

このメソッドは非推奨です。代わりに setMaxTimeToOutputResponse(long, TimeUnit) を使用してください。

void setMethodName(String className, String testName)

指定されたテストメソッドのみを実行するように設定します。'run' の前に呼び出す必要があります。

void setRunName(String runName)

run()ITestRunListener にレポートされるカスタム実行名を設定します。

指定しない場合、パッケージ名が使用されます。

void setTestCollection(boolean b)

このテスト実行をテスト収集モードに設定します。

void setTestPackageName(String packageName)

指定されたパッケージ内のすべてのテストを実行するように設定します。'run' の前に呼び出す必要があります。

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

指定されたサイズのテストのみを実行するように設定します。

保護されたメソッド

String getRunCommand()
String getRunnerPath()

パブリック コンストラクタ

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

UI 自動化テストを実行するための UiAutomatorRunner を作成する

パラメータ
remoteDevice IDevice: 操作するリモート デバイス(テストの実行、結果の収集など)

jarPaths String: UI Automator テストケースがある jar ファイルへのパス。パスは絶対パスか、デバイス上の /data/local/tmp/ からの相対パスでなければなりません

runnerPath String: 使用する代替 uiautomator ランナー。null の場合もあります。この場合、デフォルトが使用されます。

パブリック メソッド

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

計測コマンドに含めるブール値の引数を追加します。

パラメータ
name String: 計測バンドル引数の名前

value boolean: 引数の値

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

計測コマンドに含める引数を追加します。

「run」の前に呼び出す必要があります。指定された名前の引数がすでに指定されている場合、その値はオーバーライドされます。

パラメータ
name String: 計測バンドル引数の名前

value String: 引数の値

キャンセル

public void cancel ()

このテスト実行のキャンセルをリクエストします。

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

ランナーによって生成されるテスト カバレッジのタイプを返します。CoverageOutput をご覧ください。

戻り値
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

最後に追加された Java クラスのパッケージ名を返します

戻り値
String

getRunnerName

public String getRunnerName ()

デフォルトの UiAutomatorTestRunner クラス名を返します

戻り値
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

以前に追加された引数を削除します。

パラメータ
name String: 削除する計測バンドル引数の名前

ホームラン

public void run (ITestRunListener... listeners)

このテスト実行を実行します。

ERROR(/#run(Collection)) のコンビニエンス メソッド。

パラメータ
listeners ITestRunListener: テスト結果をリッスンします

例外
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

ホームラン

public void run ( listeners)

このテスト実行を実行します。

パラメータ
listeners : テスト結果のリスナーのコレクション

例外
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

テストアプリがアンインストールされる前にホストにコピーされる追加のテスト出力の場所を設定します。例: 生成されたベンチマーク レポート。

パラメータ
additionalTestDataPath String

setClassName

public void setClassName (String className)

このクラスのテストのみを実行するように設定します。'run' の前に呼び出す必要があります。

パラメータ
className String: 完全修飾クラス名(例: x.y.z)

setClassNames

public void setClassNames (String[] classNames)

指定されたクラスのテストのみを実行するように設定します。run の前に呼び出す必要があります。

複数のクラスを指定する場合は、複数のクラス引数構文をサポートする InstrumentationTestRunner が必要です。

パラメータ
classNames String: 完全修飾クラス名の配列(例: x.y.z)

setCoverage

public void setCoverage (boolean coverage)

このテスト実行のコード カバレッジ モードを設定します。

パラメータ
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

生成されたカバレッジ レポートの場所を設定します。

パラメータ
arg0 String

setDebug

public void setDebug (boolean debug)

このテスト実行のデバッグモードを設定します。true の場合、Android テストランナーは、デバッガがアタッチされるのを待ってからテストの実行に進みます。

パラメータ
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

uiautomator で SIGHUP を無視するオプションを設定します。

パラメータ
value boolean: true に設定されている場合はシグナルを無視します

setLogOnly

public void setLogOnly (boolean logOnly)

このテスト実行をログ専用モードに設定します。テストの実行はスキップされます。

パラメータ
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

デバイスでテストを実行するシェル コマンドの出力間の最大許容時間を設定します。

これにより、テストがスタックして終了しない場合にタイムアウトを設定できます。これは、接続の通常のタイムアウトとは異なります。

デフォルトでは、タイムアウトは指定されません。

パラメータ
timeout long: コマンドがレスポンスを出力しないことが許容される最大時間。値が 0 の場合、メソッドはコマンド出力が返されるまで(receiver が実行をキャンセルするまで)永久に待機し、例外をスローしません。

unit TimeUnit: ゼロ以外の maxTimeToOutputResponse 値と maxTimeout 値の単位。

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

計測が完了するまでの最大許容時間を設定します。

これにより、テストがスタックして終了しない場合にタイムアウトを設定できます。これは、接続の通常のタイムアウトとは異なります。

デフォルトでは、タイムアウトは指定されません。

パラメータ
maxTimeout long: コマンドがレスポンスを出力しないことが許容される最大時間。値が 0 の場合、メソッドはコマンド出力が返されるまで(receiver が実行をキャンセルするまで)永久に待機し、例外をスローしません。

unit TimeUnit: ゼロ以外の maxTimeToOutputResponse 値と maxTimeout 値の単位。

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

このメソッドは非推奨です。
代わりに setMaxTimeToOutputResponse(long, TimeUnit) を使用してください。

パラメータ
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

指定されたテストメソッドのみを実行するように設定します。'run' の前に呼び出す必要があります。

パラメータ
className String: 完全修飾クラス名(例: x.y.z)

testName String: メソッド名

setRunName

public void setRunName (String runName)

run()ITestRunListener にレポートされるカスタム実行名を設定します。

指定しない場合、パッケージ名が使用されます

setTestCollection

public void setTestCollection (boolean b)

このテスト実行をテスト収集モードに設定します。true の場合、テストの実行をスキップし、テスト コレクションを成功させるために必要なすべての適切なランナー引数を設定します。

パラメータ
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

指定されたパッケージ内のすべてのテストを実行するように設定します。'run' の前に呼び出す必要があります。

パラメータ
packageName String: 完全修飾されたパッケージ名(例: x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

指定されたサイズのテストのみを実行するように設定します。「run」の前に呼び出す必要があります。

パラメータ
size IRemoteAndroidTestRunner.TestSize: 実行する TestSize

保護されたメソッド

getRunCommand

protected String getRunCommand ()

戻り値
String

getRunnerPath

protected String getRunnerPath ()

戻り値
String