업로드를 위한 XCUITest 테스트 준비
Important
Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. 완전히 사용 중지될 때까지 Visual Studio App Center를 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.
이 가이드에서는 App Center 테스트에 업로드할 XCUITest 테스트를 준비하기 위한 지침을 제공합니다.
서비스 요구 사항 테스트
- Xcode >= 9.4.1
- iOS >= 9.0
테스트 서비스 제한 사항
- 업로드된 앱만 테스트할 수 있으며, 앱 또는 시스템의 나머지 부분을 통한 상호 작용은 테스트할 수 없습니다.
테스트를 위한 빌드
App Center에서 테스트를 실행하려면 애플리케이션 및 XCUITest 번들을 빌드해야 합니다. 애플리케이션 프로젝트 디렉터리의 루트에서 다음 두 명령 중 하나를 실행합니다.
# How to build a xcodeproj
rm -rf DerivedData
xcrun xcodebuild build-for-testing \
-configuration Debug \
-project YOUR_XCODEPROJ \
-sdk iphoneos \
-scheme YOUR_APP_SCHEME \
-derivedDataPath DerivedData
YOUR_XCODEPROJ
는 제목이 있는 .xcodeproj
파일을 가리킵니다 PROJECT_NAME.xcodeproj
. 사용 하는 .xcworkspace
경우 대신 사용 -workspace
합니다 -project
. YOUR_APP_SCHEME
는 애플리케이션을 빌드하는 데 사용하는 체계여야 합니다. 기본적으로 애플리케이션의 이름입니다.
xcrun은 앱과 XCUITest 번들을 DerivedData/Build
디렉터리에 빌드합니다. 앱 및 XCUITest 번들은 디렉터리에 있습니다 DerivedData/Build/Products/Debug-iphoneos/
.
xcrun xcodebuild -list
App Center에 테스트 업로드
테스트 도구 모음이 준비되면 테스트 실행을 설정하여 테스트를 업로드하고 실행합니다.
다음은 App Center Test에 XCUITest 제품군을 업로드하는 방법의 예입니다.
# Upload your test to App Center
appcenter test run xcuitest \
--app "APP_ID" \
--devices "DEVICE_SET_ID" \
--test-series "main" \
--locale "en_US" \
--build-dir DerivedData/Build/Products/Debug-iphoneos
App Center에 테스트를 제출하는 구체적인 예제는 App Center에 테스트를 제출하는 이 셸 스크립트를 참조하세요.
추가 스크린샷 및 테스트 단계
각 테스트 메서드의 끝에서 테스트 보고서에 대한 스크린샷이 자동으로 생성됩니다. 각 스크린샷은 App Center 테스트 보고서에 별도의 테스트 단계로 표시됩니다.
활동
Apple Activities
을 사용하여 테스트 코드를 그룹화하여 테스트 메서드에 대한 추가 레이블 및 스크린샷을 생성할 수 있습니다. 자세한 내용은 테스트를 하위 단계로 그룹화하여 활동을 참조하세요.
작업에서 테스트 코드를 래핑하는 코드 조각
[XCTContext
runActivityNamed:title
block:^(id<XCTActivity> _Nonnull activity) {
// test code
}];
XCTContext.runActivity(named: title) { (activity) in
// test code
}
수동 스크린샷
각 보고서의 끝에 Activity
테스트 보고서에 대한 스크린샷이 자동으로 생성됩니다. XCUIScreen을 사용하여 스크린샷을 만든 다음 XCTAttachment를 사용하여 첨부 파일을 만들고 현재Activity
에 추가하여 스크린샷을 다른 지점에 Activity
기록할 수 있습니다. 이 스크린샷은 끝부 Activity
분에 있는 기본 스크린샷 대신 App Center 테스트 보고서에 표시됩니다.
작업에서 스크린샷을 생성하고 연결하는 코드 조각
XCUIScreenshot *screenshot = [[XCUIScreen mainScreen] screenshot];
XCTAttachment *attachment;
attachment = [XCTAttachment attachmentWithScreenshot:screenshot];
[attachment setLifetime:XCTAttachmentLifetimeKeepAlways];
[activity addAttachment:attachment];
let screenshot = XCUIScreen.main.screenshot()
let attachment = XCTAttachment(screenshot: screenshot)
attachment.lifetime = .keepAlways
activity.add(attachment)