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(
이 테스트 실행을 실행합니다. |
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)
이 메서드는 지원 중단되었습니다.
대신 |
void
|
setMethodName(String className, String testName)
지정된 테스트 메서드만 실행하도록 설정합니다. 'run' 전에 호출해야 합니다. |
void
|
setRunName(String runName)
지정하지 않으면 패키지 이름을 사용합니다. |
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이 아닌 maxTimeToOutputResponse 및 maxTimeout 값의 단위입니다. |
setMaxTimeout
public void setMaxTimeout (long maxTimeout,
TimeUnit unit)계측이 완료되는 데 허용되는 최대 시간을 설정합니다.
이를 통해 테스트가 멈춰서 완료되지 않는 경우를 대비해 타임아웃을 설정할 수 있습니다. 이는 연결의 일반적인 시간 제한과는 다릅니다.
기본적으로 시간 제한은 지정되지 않습니다.
| 매개변수 | |
|---|---|
maxTimeout |
long: 명령어가 응답을 출력하지 않아도 되는 최대 시간입니다. 값이 0이면 메서드가 명령 출력을 무한정 기다리며 (receiver가 실행을 취소할 때까지) 예외를 발생시키지 않습니다. |
unit |
TimeUnit: 0이 아닌 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 |
|