: 초기 테스트 환경 구성은 Java + Appium + Simulator(혹은 실단말) 로 API와 Mobile APP 테스트를 진행하는 것입니다.
: 테스트 환경을 구성하면서 확인해보니, Amazon Device Farm 환경을 구축하고 테스트를 진행해보는 것도 좋을 것 같아, 해당 환경에서 테스트를 진행해보았습니다.
: 많이 사용하는 기본 어플리케이션(구글, 유투브 등..)의 테스트 자동화 프로젝트를 진행하려 했으나, 그럴 경우 API 자동화를 진행하지 못해 샘플 어플리케이션(주소록 어플리케이션)을 제작하여 해당 어플리케이션의 테스트 자동화를 진행하였습니다.
Amazon Device Farm의 공식 문서(링크) 에는 굉장히 친절하게 테스트를 구동하는 방법이 나와 있지만... 여러 오류들 때문에 많은 시행착오를 했습니다.
주 원인은 프로젝트 구조가 testng.xml 파일을 시작으로 테스트를 수행하는 구조여서 maven으로 테스트에 필요한 압축 파일을 빌드하는 데 많은 시행착오를 겪었습니다(*아래 별첨 참고).
아래는 Android 테스트 결과 비디오(*아래 별첨)와 테스트 성공 로그입니다. 주소록 어플리케이션의 검색 기능 중 아래 사항의 테스트 3개를 Pass했습니다. (iOS 테스트 결과도 아래와 유사하게 나왔습니다)

샘플 어플리케이션의 아쉬움: Flutter로 AI를 사용해 엉성하게 만들었기 때문에 여러 기능이나 실제 어플리케이션처럼 데이터가 많지 않아 테스트를 폭넓게 진행하지 못했습니다. 기초적인 뼈대를 만들었다는 데에 의의가 있는 테스트 진행이었습니다.
Amazon Device Farm 운용: 다양한 기능이 있는데, 일부 기능만을 사용하여 아쉬움이 남았습니다.
** 위에 잠깐 언급했던, testng.xml 파일로(혹은 여러 xml파일들로) TestNG 테스트들을 실행해온 경우 아래와 같은 문제들이 있었습니다.
testng.xml 파일이 maven으로 빌드한 압축파일에 추가되지 않음 ➔ 이로 인해서 testng.xml로 작동하는 테스트 클래스들(모든 테스트 클래스들..)이 maven으로 빌드한 압축파일에 추가되지 않음testng.xml 파일을 실행하는 main 클래스를 생성하여 Java Application으로 실행 후 maven 빌드

src/test/resource 에 testng.xml 를 추가 후 pom.xml의 경로에 해당 파일 추가

** 테스트 실행 비디오
용량 등을 고려하지 않고 테스트 실행 영상이 녹화되는 것은 Amazon Device Farm의 장점 중 하나라고 생각합니다.

