새로운 기능 : 계측 여러 가지 장점이 있습니다 안드로이드 테스트 Orchestrator를 독립적으로 앱의 계측 각 테스트를 실행 Orchestrator를 테스트뿐만 아니라, 하나의 단점 :
이 혜택은
없음은 공유되지 state : 각 테스트는 자체 계측 인스턴스 에서 실행되므로 공유 상태가 테스트를 통해 누적되지 않습니다.
격리 된 충돌 : 테스트가 중단되면 자체의 Instrumentation 인스턴스 만 사용되므로 스위트의 다른 테스트는 여전히 실행됩니다. .
단점
긴 런타임 : 각 테스트는 자신의 계측 인스턴스 을 실행하는이 테스트 과정이 전반적으로 약간 더 걸리는 것을 의미한다. 런타임이 증가하면 할당량 사용 또는 청구 시간에 영향을 줄 수 있으며 으로 인해 장치의 시간 제한이 초과 될 수 있습니다.
이제 로컬로 새 오케스트레이터를 실행하여 제대로 작동하는지 확인하는 것이 좋습니다. 내가 시도 ./gradlew connectedCheck
을 할 때
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestUtil 'com.android.support.test:orchestrator:1.0.1'
하지만 난 어떤 차이를 볼 수 없습니다 : Gradle을 의존성
testOptions {
execution 'ANDROID_TEST_ORCHESTRATOR'
}
: 그래서 난 내 모듈의 build.gradle 파일에 testOptions를 추가 한 후 그것을 실행 물리적 장치를 연결하고 에뮬레이터 API 26을 동시에 실행하는 것입니다. 그래서 지금 두 장치가 adb에 붙어있을 것입니다. ./gradlew connectedCheck를 실행하십시오. 콘솔 터미널에서 다음 출력을 볼 수 있습니다 :
#./gradlew connectedCheck
Parallel execution with configuration on demand is an incubating feature.
> Configure project :app
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at build_495ocpxnm4a4fvowoj4qizq7q.run(/Users/me/Development/QA/android/MyApp/app/build.gradle:303)
(Run with --stacktrace to get the full stack trace of this deprecation warning.)
The CompileOptions.bootClasspath property has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the CompileOptions.bootstrapClasspath property instead.
[newrelic.info] Android Gradle plugin version 3.+ detected. Using transform API
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
> Task :app:processLabsDebugGoogleServices
Parsing json file: /Users/me/Development/QA/android/Myapp/app/google-services.json
Starting 39 tests on Nexus_6P_API_26_oreo_xxhdpi(AVD) - 8.0.0
Starting 39 tests on SM-G610F - 7.0
<====---------> 33% EXECUTING [4m 40s]
두 장치 모두에서 테스트를 실행 중입니다. 오케스트라가하는 일은 무엇입니까?
오케스트레이터의 목적은 무엇입니까?
'com.android.support.test : orchestrator : 1.0.1'과 같은 다른 모든 종속성을 추가 했습니까? [여기] (https://developer.android.com/training/testing/junit-runner.html#ato-gradle) 및 [여기] (https://developer.android.com/topic/libraries/testing- support-library/packages.html) – MatPag
예. 나는 질문을 갱신 할 것이다. 봐. – j2emanue