Share via


업로드를 위한 XCUITest 테스트 준비

중요

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. Visual Studio App Center가 완전히 사용 중지될 때까지 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아보세요.

이 가이드에서는 App Center 테스트에 업로드하기 위한 XCUITest 테스트를 준비하기 위한 지침을 제공합니다.

테스트 서비스 요구 사항

  • Xcode >= 9.4.1
  • iOS >= 9.0

참고

이제 Xcode 12 및 iOS 14를 사용할 수 있습니다!

테스트 서비스 제한 사항

  • 업로드된 앱만 테스트할 수 있으며, 앱 또는 시스템의 나머지 부분을 통한 상호 작용은 테스트할 수 없습니다.

테스트를 위한 빌드

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 는 라는 제목의 파일을 가리킵니 .xcodeprojPROJECT_NAME.xcodeproj. 를 .xcworkspace사용하는 경우 대신 을 -project사용합니다-workspace. YOUR_APP_SCHEME 는 애플리케이션을 빌드하는 데 사용하는 체계여야 합니다. 기본적으로 일반적으로 애플리케이션의 이름입니다.

xcrun은 앱과 XCUITest 번들을 DerivedData/Build 디렉터리에 빌드합니다. 앱 및 XCUITest 번들은 디렉터리에 있습니다 DerivedData/Build/Products/Debug-iphoneos/ .

xcrun xcodebuild -list

App Center에 테스트 업로드

테스트 도구 모음이 준비되면 다음 으로 테스트 실행을 설정하여 테스트를 업로드하고 실행합니다.

다음은 App Center 테스트에 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)