스마트폰 앱 테스트 자동화

지난번은 웹 애플리케이션의 스마트 폰 테스트를 자동화했지만 이번에는 DeviceFarm을 사용하여 스마트 폰 앱의 테스트를 자동화합니다.
CI 도구는 Plugin이 있는 Jenkins를 사용합니다.

필요한 것


  • AWS 계정

  • AWS IAM User (DeviceFarmFullAccess 권한을 부여한 사용자)
  • DeviceFarm Project(테스트 대상 프로젝트)
  • DeviceFarm DevicePool(테스트 대상 단말기 풀)

  • Jenkins + DeviceFarmPlugin 설정



    Jenkins 및 device-farm-plugin 설정은 링크을 참고로 설정합니다.
    실시하는 것은 다음과 같습니다.
  • yum에서 Jenkins를 EC2에 설치
  • DeviceFarm Plugin 설치
  • DeviceFarm AccessKey/SecretKey 설정

  • 테스트 프로젝트 구성



    다음을 참조하여 테스트 프로젝트를 만듭니다.
    참고 저장소은 Appium + JUnit을 gradle로 빌드합니다.
    또한 테스트 대상 iOS 애플리케이션 파일의 빌드는 생략되었습니다.

    DeviceFarm 테스트 설정



    DeviceFarm 테스트 설정에서 다음을 설정합니다.
  • DeviceFarm Project
  • DeviceFarm Device Pool(테스트 대상 단말기 풀)
  • 애플리케이션 파일(※예는 iOS 앱의 .ipa)
  • 테스트 대상 파일(zip-with-dependencies.zip)



  • ※zip-with-dependencies.zip의 폴더 구성은 이하를 참조

    zip-with-dependencies.zip
    task installZip(dependsOn: ["clean", "packageTests", "installDist"]) << {
        new File("build/work").mkdir()
        new File('build/zip.sh') << 'cd build/work; zip -r zip-with-dependencies.zip .'
        copy{
            from "build/install/test/lib/"
            into "build/work/dependency-jars/"
        }
        copy{
            from "build/libs/test-1.0-SNAPSHOT-tests.jar"
            into "build/work/"
        }
        "chmod 755 build/zip.sh".execute().waitFor()
        "build/zip.sh".execute().waitFor()
        copy{
            from "build/work/zip-with-dependencies.zip"
            into "build/"
        }
    }
    

    테스트 실행



    Jenkins에서 테스트를 실행하면 응용 프로그램 파일, DeviceFarm Management Console 보고서에 대한 링크 등이 Jenkins 테스트 결과 화면에 표시됩니다.



    기타 (개발 중 테스트 정보)



    DeviceFarm의 인터넷 게이트웨이의 주소 범위는 54.244.50.32~54.244.50.63. 됩니다.

    좋은 웹페이지 즐겨찾기