본문으로 건너뛰기

Routine Testing

Routine Testing(이하 루틴 테스팅)은 무엇인가요?

루틴 테스팅은 여러분의 테스트 스크립트(예: pytest, jest 또는 테스트 프레임워크가 아니더라도)를 다른 CI 시스템과 통합하여 Dogu 디바이스 팜과 주기적으로 테스트할 수 있도록 하는 기능입니다.

루틴 테스팅을 어떻게 사용하나요?

먼저 Dogu 루틴 대화형 튜토리얼을 진행하는 것을 추천합니다.

1. 대화형 튜토리얼

선행 조건

Cloud Dogu 콘솔에서 프로젝트를 생성해야 합니다.
자세한 내용은 프로젝트 관리를 참조하세요.

아래와 같이 루틴 버튼을 ✅ 클릭하고 튜토리얼 버튼을 ✅ 클릭하세요.

🎉 튜토리얼을 즐기세요! 🎉

2. Dogu Agent API를 이용한 로컬 테스트

선행 조건

로컬 환경에 Dogu Agent를 설치해야 합니다.

이 예제는 크로스 브라우징 테스트를 위해 selenium을 사용한 예제입니다. 더 많은 예제는 GitHub의 dogu-routine-examples 저장소를 참조하세요.

1. GitHub의 dogu-routine-examples 저장소를 체크아웃

이 저장소에는 dogu-device-client를 사용하여 크로스 브라우징 테스트를 위한 Dogu 에이전트 API를 사용하는 예제가 포함되어 있습니다.

dogu-device-client는 Dogu 에이전트를 제어하기 위한 API 세트를 제공합니다.

  • 🌎 ⚔️ 크로스 브라우징 테스트를 위한 브라우저 및 웹 드라이버의 자동 설치.
    자동 설치 가능한 항목: 🌐 크롬(chrome) 및 크롬 드라이버(chromedriver), 🦊 파이어폭스(firefox) 및 파이어폭스 드라이버(geckodriver), 📐 엣지(edge) 및 엣지 드라이버(edgedriver)
  • 💾 프로젝트 앱의 자동 다운로드를 위한 API.
    Dogu 루틴에서만 실행됩니다. 로컬에서 사용할 경우 저희에게 문의하십시오.
  • 📱 앱 테스트를 위한 내장 Appium 서버 제어.

2. .env.local 파일에 환경 변수 작성

# .env.local
DOGU_BROWSER_NAME=chrome
DOGU_DEVICE_PLATFORM=macos # or windows
DOGU_DEVICE_SERIAL=
DOGU_DEVICE_TOKEN=

Dogu Agent로 이동하여 디바이스 우측에 있는 버튼을 클릭하여 테스트에 필요한 환경변수를 생성합니다. 이후 표시되는 환경변수를 복사하세요.

클립보드에 복사된 값을 .env.local 파일에 붙여넣어주세요.

# .env.local
# ...
DOGU_DEVICE_SERIAL=<your device serial>
DOGU_DEVICE_TOKEN=<your device token>

3. 로컬에서 테스트 스크립트 실행

🎉 Dogu 에이전트 API를 사용한 로컬 테스팅이 완료되었습니다! 🎉

3. Dogu 루틴을 사용하여 Dogu 디바이스 팜에서 테스트 실행

Dogu 루틴은 GitHub Actions, Jenkins, Bitbucket과 같은 다른 CI 시스템과 통합할 수 있습니다.
다른 CI 시스템과 통합하려면 저희에게 연락하십시오.

1. 루틴 YAML 작성

정보

루틴 YAML 작성 방법에 대한 자세한 내용은 루틴 관리를 참조하십시오.

프로젝트 루틴에 아래 예제를 추가하십시오.

2. 호스트 디바이스에서 최대 병렬 작업 수 변경

호스트 디바이스에서 병렬 작업을 실행하기 위해 최대 병렬 작업 수를 8으로 변경하십시오.

정보

최대 병렬 작업 수를 변경하는 방법에 대한 자세한 내용은 디바이스 관리에서 확인하십시오.

3. GitHub 토큰 생성

정보

GitHub 토큰을 생성하는 방법에 대한 자세한 내용은 GitHub 토큰 생성을 참조하십시오.

4. GitHub 통합

정보

GitHub 통합 방법에 대한 자세한 내용은 Git 통합을 참조하십시오.

5. 루틴 실행

정보

루틴을 실행하는 방법에 대한 자세한 내용은 루틴 실행을 참조하십시오.

🎉 Dogu 루틴을 사용하여 Dogu 디바이스 팜에서 테스트 실행이 완료되었습니다! 🎉

4. 루틴 테스팅을 위한 다른 CI 시스템과의 통합

정보

다른 CI 시스템과의 루틴 테스팅을 위한 자세한 내용은 CI/CD를 참조하십시오.

다른 CI 시스템과 통합하려면 저희에게 연락하십시오.

🎉 루틴 테스팅을 위한 다른 CI 시스템과의 통합이 완료되었습니다! 🎉