1. 개요
Android Debug Bridge(ADB)는 Android 기기와 컴퓨터 간의 연결을 제공하는 강력한 도구입니다. 개발자는 ADB를 활용하여 앱을 디버깅하고, 시스템 설정을 변경하며, 자동화된 테스트를 수행할 수 있습니다. 본 포스팅에서는 ADB를 활용하여 터치 이벤트를 실행하고, 텍스트를 입력하며, 스크립트를 통해 반복적인 작업을 자동화하는 방법을 설명하겠습니다.
2. ADB 명령어를 활용한 터치 및 입력 자동화
2.1 특정 좌표 터치 이벤트 실행
모바일 자동화에서 특정 위치를 터치하는 기능은 UI 테스트 및 반복 작업 자동화에 유용합니다. 이를 위해 ADB의 input tap
명령어를 사용할 수 있습니다.
명령어 형식:
adb shell input tap <x> <y>
예제:
adb shell input tap 500 1000
위 명령어는 화면의 (500, 1000) 좌표를 터치합니다.
2.2 스와이프 동작 실행
스와이프 동작을 실행하려면 input swipe
명령어를 사용합니다. 이 명령어는 두 좌표 사이를 일정한 시간 동안 이동하는 동작을 시뮬레이션합니다.
명령어 형식:
adb shell input swipe <x1> <y1> <x2> <y2> <duration>
예제:
adb shell input swipe 300 1000 300 500 500
위 명령어는 (300, 1000)에서 (300, 500)으로 500ms 동안 스와이프합니다. 이는 화면을 위로 스크롤하는 동작과 유사합니다.
2.3 텍스트 입력 자동화
사용자가 키보드를 통해 입력하는 것과 동일한 효과를 주기 위해 input text
명령어를 사용할 수 있습니다.
명령어 형식:
adb shell input text "<text>"
예제:
adb shell input text "Hello, World!"
위 명령어는 Android 기기의 현재 활성화된 입력 필드에 "Hello, World!"라는 문자열을 입력합니다.
참고: 공백이 포함된 문자열을 입력할 경우
\
(백슬래시)를 사용하여 이스케이프해야 합니다. 예를 들어adb shell input text "Hello\ World"
처럼 작성해야 합니다.
3. ADB 스크립트 자동화
ADB 명령어를 반복적으로 실행해야 할 경우, 스크립트를 활용하면 편리합니다. Bash 스크립트(Linux/macOS) 또는 Batch 파일(Windows)을 활용하여 자동화 작업을 수행할 수 있습니다.
3.1 Bash 스크립트를 활용한 자동화 (Linux/macOS)
아래는 특정 위치를 터치하고, 스와이프 동작을 실행한 후 텍스트를 입력하는 Bash 스크립트 예제입니다.
adb_automation.sh
:
#!/bin/bash
# 특정 좌표 터치
echo "터치 이벤트 실행 중..."
adb shell input tap 500 1000
sleep 1
# 스와이프 동작 실행
echo "스크롤 동작 실행 중..."
adb shell input swipe 300 1000 300 500 500
sleep 1
# 텍스트 입력
echo "텍스트 입력 중..."
adb shell input text "Hello, World!"
sleep 1
echo "ADB 자동화 완료."
실행 방법:
chmod +x adb_automation.sh
./adb_automation.sh
3.2 Batch 스크립트를 활용한 자동화 (Windows)
Windows 환경에서는 .bat
파일을 작성하여 ADB 명령어를 실행할 수 있습니다.
adb_automation.bat
:
@echo off
echo 터치 이벤트 실행 중...
adb shell input tap 500 1000
timeout /t 1 /nobreak >nul
echo 스크롤 동작 실행 중...
adb shell input swipe 300 1000 300 500 500
timeout /t 1 /nobreak >nul
echo 텍스트 입력 중...
adb shell input text "Hello, World!"
timeout /t 1 /nobreak >nul
echo ADB 자동화 완료.
실행 방법:
adb_automation.bat
파일을 생성합니다.- 더블 클릭하여 실행합니다.
4. ADB 자동화 활용 사례
4.1 UI 테스트 자동화
자동화 테스트 도구와 ADB를 결합하면 UI 테스트를 효율적으로 수행할 수 있습니다. 예를 들어, 버튼을 터치하고 특정 동작이 수행되는지 확인하는 스크립트를 작성할 수 있습니다.
4.2 반복적인 작업 자동화
앱 개발 및 테스트 과정에서 반복적으로 수행해야 하는 작업(예: 로그인, 특정 화면 이동)을 ADB 스크립트로 자동화할 수 있습니다.
4.3 원격 디바이스 제어
ADB를 활용하면 원격으로 Android 디바이스를 조작할 수 있습니다. 특히 CI/CD 환경에서 테스트 자동화를 수행할 때 유용합니다.
5. 결론
ADB는 Android 개발 및 자동화에 필수적인 도구이며, 터치, 스와이프, 텍스트 입력과 같은 명령어를 활용하여 다양한 작업을 자동화할 수 있습니다. 또한, Bash 또는 Batch 스크립트를 활용하면 반복적인 작업을 효율적으로 처리할 수 있습니다. 본 포스팅에서 다룬 내용을 바탕으로, 자신만의 ADB 자동화 스크립트를 작성하여 개발 환경을 최적화해 보시기 바랍니다.
'Android > ADB' 카테고리의 다른 글
ADB 활용 고급 팁 및 문제 해결 (0) | 2025.02.20 |
---|---|
Fastboot 모드 및 부트로더 관리 (0) | 2025.02.19 |
ADB Shell을 활용한 시스템 제어 (0) | 2025.02.17 |
ADB를 활용한 애플리케이션 관리 (0) | 2025.02.16 |
ADB를 활용한 로그 및 디버깅 (0) | 2025.02.15 |