사용자 지정 테스트 환경을 새 iOS 테스트 호스트로 마이그레이션 - AWS Device Farm

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 지정 테스트 환경을 새 iOS 테스트 호스트로 마이그레이션

기존 테스트를 레거시 호스트에서 새 macOS 테스트 호스트로 마이그레이션하려면 기존 테스트 사양 파일을 기반으로 새 테스트 사양 파일을 개발해야 합니다.

권장 접근 방식은 원하는 테스트 유형에 대한 예제 테스트 사양 파일로 시작한 다음 이전 테스트 사양 파일에서 새 테스트 사양 파일로 관련 명령을 마이그레이션하는 것입니다. 이를 통해 기존 코드 조각을 재사용하는 동안 새 호스트에 대한 예제 테스트 사양의 새로운 기능과 최적화를 활용할 수 있습니다.

자습서: 콘솔을 사용하여 iOS 테스트 사양 파일 마이그레이션

이 예제에서는 Device Farm 콘솔을 사용하여 기존 iOS 디바이스 테스트 사양을 온보딩하고 새 테스트 호스트를 사용합니다.

1단계: 콘솔을 사용하여 새 테스트 사양 파일 생성

  1. AWS Device Farm 콘솔에 로그인합니다.

  2. 자동화 테스트가 포함된 Device Farm 프로젝트로 이동하세요.

  3. 온보딩하려는 기존 테스트 사양의 사본을 다운로드합니다.

    1. "프로젝트 설정" 옵션을 클릭하고 업로드 탭으로 이동합니다.

    2. 온보딩하려는 테스트 사양 파일로 이동합니다.

    3. 다운로드 버튼을 클릭하여이 파일의 로컬 사본을 만듭니다.

  4. 프로젝트 페이지로 돌아가서 실행 생성을 클릭합니다.

  5. 새 실행을 시작하는 것처럼 마법사의 옵션을 채우고 테스트 사양 선택 옵션에서 중지합니다.

  6. 기본적으로 선택한 iOS 테스트 사양을 사용하여 테스트 사양 생성 버튼을 클릭합니다.

  7. 텍스트 편집기에서 기본적으로 선택한 테스트 사양을 수정합니다.

    1. 아직 없는 경우 다음을 사용하여 새 호스트를 선택하도록 테스트 사양 파일을 수정합니다.

      ios_test_host: macos_sequoia
    2. 이전 단계에서 다운로드한 테스트 사양 사본에서 각를 검토합니다 phase.

    3. 이전 테스트 사양 단계의 명령을 새 테스트 사양의 각 단계로 복사하고 Java, Python, Node.js, Ruby, Appium 또는 Xcode 설치 또는 선택과 관련된 명령은 무시합니다.

  8. 다른 이름으로 저장 텍스트 상자에 새 파일 이름을 입력합니다.

  9. 새 이름으로 저장 버튼을 클릭하여 변경 사항을 저장합니다.

참조로 사용할 수 있는 테스트 사양 파일의 예는에 제공된 예제를 참조하세요테스트 사양 예제.

2단계: 소프트웨어 사전 설치 소프트웨어 선택

새 테스트 호스트에서 사전 설치된 소프트웨어 버전은 라는 새로운 표준화된 버전 관리 도구를 사용하여 선택됩니다devicefarm-cli. 이제이 도구는 테스트 호스트에서 제공하는 다양한 소프트웨어를 사용하기 위한 권장 접근 방식입니다.

예를 들어 테스트 환경의 다른 JDK 17을 사용하려면 다음 줄을 추가합니다.

- devicefarm-cli use java 17

지원되는 소프트웨어에 대한 자세한 내용은 단원을 참조하십시오사용자 지정 테스트 환경 내에서 지원되는 소프트웨어.

3단계: 소프트웨어 선택 도구를 통해 Appium 및 해당 종속성 사용

새 테스트 호스트는 Appium 2.x 이상만 지원합니다. 와 같은 레거시 도구를 제거하는 devicefarm-cli동안를 사용하여 Appium 버전을 명시적으로 선택하십시오 avm. 예:

# This line using 'avm' should be removed # - avm 2.3.1 # And the following lines should be added - devicefarm-cli use appium 2 # Selects the version - appium --version # Prints the version

에서 선택한 Appium 버전에는 호환되는 버전의 iOS용 XCUITest 드라이버가 사전 설치되어 devicefarm-cli 있습니다.

또한 DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V9 대신를 사용하도록 테스트 사양을 업데이트해야 합니다 DEVICEFARM_WDA_DERIVED_DATA_PATH. 새 환경 변수는 Appium 2 테스트에 지원되는 최신 버전인 WebDriverAgent 9.x의 사전 빌드 버전을 가리킵니다.

자세한 내용은 iOS 테스트를 위한 WebDriverAgent 버전 선택 및 단원을 참조하십시오Appium 테스트를 위한 환경 변수.

새 테스트 호스트와 레거시 테스트 호스트 간의 차이점

새 iOS 테스트 호스트를 사용하도록 테스트 사양 파일을 편집하고 레거시 테스트 호스트에서 테스트를 전환할 때는 다음과 같은 주요 환경 차이점에 유의하세요.

  • Xcode 버전: 레거시 테스트 호스트 환경에서 사용 가능한 Xcode 버전은 테스트에 사용된 디바이스의 iOS 버전을 기반으로 했습니다. 예를 들어 iOS 18 디바이스의 테스트는 레거시 호스트에서 Xcode 16을 사용한 반면 iOS 17의 테스트는 Xcode 15를 사용했습니다. 새 호스트 환경에서는 모든 디바이스가 동일한 버전의 Xcode에 액세스할 수 있으므로 버전이 다른 디바이스에 대한 테스트를 위한 일관된 환경이 가능합니다. 현재 사용 가능한 Xcode 버전 목록은 섹션을 참조하세요지원 소프트웨어.

  • 소프트웨어 버전 선택: 대부분의 경우 기본 소프트웨어 버전이 변경되었으므로 이전에 레거시 테스트 호스트에서 소프트웨어 버전을 명시적으로 선택하지 않은 경우를 사용하여 새 테스트 호스트에서 소프트웨어 버전을 지정할 수 있습니다devicefarm-cli. 대부분의 사용 사례에서 고객이 사용하는 소프트웨어 버전을 명시적으로 선택하는 것을 권장합니다. 에서 소프트웨어 버전을 선택하면 예측 가능하고 일관된 경험을 할 수 있으며 Device Farmdevicefarm-cli이 테스트 호스트에서 해당 버전을 제거하려는 경우 충분한 양의 경고를 받을 수 있습니다.

    또한, 새로운 devicefarm-cli 소프트웨어 선택 시스템을 위해 nvm, pyenv, avm, rvm과 같은 소프트웨어 선택 도구가 제거되었습니다.

  • 사용 가능한 소프트웨어 버전: 이전에 사전 설치된 소프트웨어의 여러 버전이 제거되었으며 많은 새 버전이 추가되었습니다. 따라서 devicefarm-cli를 사용하여 소프트웨어 버전을 선택할 때는 지원되는 버전 목록에 있는 버전을 선택해야 합니다.

  • 최신 iOS 디바이스 테스트 및 업계 표준을 추적하기 위한 최신/일방 도구를 위해 도구 libimobiledevice 모음이 제거되었습니다. iOS 17 이상의 경우 대부분의 명령을 마이그레이션하여 라는 유사한 Xcode 도구를 사용할 수 있습니다devicectl. 에 대한 자세한 내용은 Xcode가 설치된 시스템에서 devicectlxcrun devicectl help를 실행할 수 있습니다.

  • 레거시 호스트 테스트 사양 파일에서 절대 경로로 하드 코딩된 파일 경로는 새 테스트 호스트에서 예상대로 작동하지 않을 가능성이 높으며 일반적으로 테스트 사양 파일 사용에 권장되지 않습니다. 모든 테스트 사양 파일 코드에 상대 경로와 환경 변수를 사용하는 것이 좋습니다. 자세한 내용은의 주제를 검토하세요사용자 지정 테스트 환경 실행 모범 사례.

  • 운영 체제 버전 및 아키텍처: 레거시 테스트 호스트는 할당된 디바이스를 기반으로 다양한 macOS 버전 및 CPU 아키텍처를 사용하고 있었습니다. 따라서 사용자는 환경에서 사용 가능한 시스템 라이브러리에서 몇 가지 차이점을 발견할 수 있습니다. 이전 호스트 OS 버전에 대한 자세한 내용은 단원을 참조하십시오레거시 iOS 테스트 호스트.

  • Appium 사용자의 경우 WebDriverAgent를 선택하는 방법이 이전 접두사 DEVICEFARM_APPIUM_WDA_DERIVED_DATA_PATH_V 대신 사용 환경 변수 DEVICEFARM_WDA_DERIVED_DATA_PATH_V 접두사로 변경되었습니다. 업데이트된 변수에 대한 자세한 내용은 단원을 참조하십시오Appium 테스트를 위한 환경 변수.

  • Appium Java 사용자의 경우 새 테스트 호스트는 클래스 경로에 사전 설치된 JAR 파일을 포함하지 않는 반면, 이전 호스트는 TestNG 프레임워크용 파일을 포함합니다(환경 변수를 통해$DEVICEFARM_TESTNG_JAR). 테스트 프레임워크에 필요한 JAR 파일을 테스트 패키지 내에 패키징하고 테스트 사양 파일에서 $DEVICEFARM_TESTNG_JAR 변수 인스턴스를 제거하는 것이 좋습니다.

소프트웨어 관점에서 테스트 호스트 간의 차이점에 대한 피드백이나 질문이 있는 경우 지원 사례를 통해 서비스 팀에 문의하는 것이 좋습니다.