openSTF 실행

정태경·2022년 2월 27일
1

Device Farm 구축

목록 보기
3/3
post-thumbnail

서버 구축이 완료되었으니 모바일 기기를 연결하고 STF로 원격 컨트롤해 볼 예정이다.

브라우저에서 STF 접속

docker container가 정상적으로 실행중이라면 인터넷 브라우저에서 .env 파일에 설정한 IP를 입력하여 STF에 접속해보자.

서버가 정상적으로 실행 중이라면 아래 이미지처럼 웹사이트가 출력될 것이다. Name과 E-mail은 아무거나 입력해도 로그인이 가능하니 로그인까지 실행해 보자.

기기 연결

서버까지 문제없이 실행되었는데 기기 연결하는 과정에서 삽질을 꽤나 많이 했다. 결론부터 이야기하면 Mac OS + Docker Container를 사용하고 있는 사용자라면 adb wifi를 이용한 연결 방법만 사용이 가능하다.

즉, USB Cable로 연결되더라도 Docker Container에는 장치 인식이 불가능하다. (이 문제를 해결하는 데 이틀이나 삽질을 했다. 문제 해결에 참고했던 블로그 링크를 첨부해놓았으니 참고해 보시길)

아무튼 본론으로 들어가서 서버 PC와 모바일 기기를 USB로 연결한 뒤 모바일 기기의 adb tcpip 포트를 열어준다.

$ adb tcpip 5555

그리고 ADB Container에서 모바일 기기를 adb wifi로 연결해준다.

$ docker exec -it {ADB Container명} adb connect {모바일기기IP:PORT}

브라우저에서 모바일 기기 원격 컨트롤

기기 연결까지 성공했다면 브라우저에서 모바일 기기를 컨트롤해 볼 수 있다. 아래와 같이 브라우저를 통해 STF에 접속하면 연결된 기기 목록이 노출된다.

기기 목록에는 연결된 전체 기기와 현재 사용 가능한 기기의 수량이 표시되며 모델명, Product 명, OS 등의 정보가 표시된다.

기기 목록의 Use 버튼을 누르면 해당 기기를 원격으로 제어할 수 있다.

기기 제어 화면

기기 제어 화면은 다음과 같다. 좌측의 기기 화면을 마우스와 키보드를 통해 제어할 수 있고, 우측의 컨트롤 패널에 제공되는 기본 기능과 다양한 옵셔널 기능을 활용할 수 있다.

마무리

openSTF를 활용한 디바이스 팜 구축 과정과 실제 운영환경을 살펴보았다. 디바이스 팜은 장비 관리뿐만 아니라 연결된 기기를 통해 모바일 자동화 테스트 병렬 실행 등 매우 다양하게 실무에 적용할 수 있다. 한 가지 단점으로는 아무래도 상용 서비스가 아닌 오픈소스이다 보니 최신 OS 대응이 빠르진 않은 것 같다. 그리고 리눅스에 최적화되어있어 추후 공식적으로 사용하려면 리눅스 환경에 세팅하는 것이 좋을 듯하다. 그래도 이만하면 훌륭한 오픈소스라고 생각한다.

https://changjoon-baek.medium.com/android-device-in-container-b9823cd5a6a7
https://github.com/tmobile/stf_ios_support

profile
現 두나무 업비트 QA 엔지니어, 前 마이리얼트립 TQA 엔지니어

0개의 댓글