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)

SIGHUP을 무시하도록 uiautomator의 옵션을 설정합니다.

매개변수
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: 0이 아닌 maxTimeToOutputResponsemaxTimeout 값의 단위입니다.

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

계측이 완료되는 데 허용되는 최대 시간을 설정합니다.

이를 통해 테스트가 멈춰서 완료되지 않는 경우를 대비해 타임아웃을 설정할 수 있습니다. 이는 연결의 일반적인 시간 제한과는 다릅니다.

기본적으로 시간 제한은 지정되지 않습니다.

매개변수
maxTimeout long: 명령어가 응답을 출력하지 않아도 되는 최대 시간입니다. 값이 0이면 메서드가 명령 출력을 무한정 기다리며 (receiver가 실행을 취소할 때까지) 예외를 발생시키지 않습니다.

unit TimeUnit: 0이 아닌 maxTimeToOutputResponsemaxTimeout 값의 단위입니다.

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