종속 항목
ChromeDriver용 바이너리는 다운로드 페이지에서 다양한 호스트 플랫폼의 ZIP 파일로 패키징되어 있습니다.
지원되는 앱
ChromeDriver는 웹 디버깅 및 JavaScript를 사용 설정한 Chrome 브라우저 (버전 30 이상) 및 Android 4.4 (KitKat) 이상의 WebView 기반 앱에서 테스트를 실행할 수 있도록 지원합니다. 다음 위치에서 Chrome 앱을 설치할 수 있습니다.
안정화 버전: https://play.google.com/store/apps/details?id=com.android.chrome
Selenium WebDriver 언어 바인딩
테스트 작성을 위해 선택한 언어에 표준 Selenium 프로젝트 WebDriver 언어 바인딩을 설치해야 합니다. 이 라이브러리는 친숙한 로컬 패키지 관리자 또는 selenium 프로젝트 (https://www.seleniumhq.org/download/)에서 사용할 수 있습니다. 예를 들어 Python용 언어 바인딩은 pip를 사용하여 설치할 수 있습니다.
$ pip install selenium
Android SDK
SDK는 developer.android.com/sdk/에서 다운로드할 수 있습니다.
기기 요구사항
Chrome 버전 33부터는 루팅된 기기가 더 이상 필요하지 않습니다. 더 낮은 버전의 Chrome에서 테스트를 실행하는 경우 Chrome의 명령줄 인수를 설정하려면 ChromeDriver가 /data/local
디렉터리에 관한 쓰기 액세스 권한을 필요로 하므로 기기를 루팅해야 했습니다.
ChromeDriver 실행
Android SDK의 Android 디버그 브리지 (adb) 서버를 시작합니다.
$ adb start-server
버전 33 이전의 Chrome 앱에서 테스트하는 경우, 다음과 같이 adb 셸에 기기의/data /local 디렉터리에 대한 읽기/쓰기 액세스 권한이 있는지 확인합니다.
$ adb shell su -c chmod 777 /data/local
일반적으로 Selenium 라이브러리를 통해 ChromeDriver를 시작하는 것이 좋지만 명령줄에서 수동으로 시작할 수도 있습니다. 자세한 내용은 시작하기를 참조하세요.
$ ./chromedriver
Android 관련 옵션
다음 Chrome 옵션은 Chrome 앱과 WebView 앱에 모두 적용할 수 있습니다.
androidPackage
: Chrome 또는 WebView 앱의 패키지 이름입니다.androidDeviceSerial
: (선택사항) 앱을 실행할 기기의 일련번호입니다 (아래의 여러 기기 섹션 참고).androidUseRunningApp
: (선택사항) 지우기 데이터 디렉터리로 앱을 실행하는 대신 이미 실행 중인 앱에 연결합니다.
다음 기능은 WebView 앱에만 적용됩니다.
- androidActivity: WebView를 호스팅하는 활동의 이름입니다.
- androidProcess: (선택사항) WebView를 호스팅하는 활동의 프로세스 이름입니다 (ps에서 제공). 지정하지 않으면 프로세스 이름이
androidPackage
과 동일한 것으로 간주됩니다.
테스트 실행
테스트는 androidPackage
옵션을 통해 앱의 패키지 이름을 ChromeDriver에 전달해야 합니다. 예를 들어, 최소 Python 테스트는 다음과 같습니다.
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()
여러 기기 지원
세션에 특정 기기를 사용하려면 androidDeviceSerial
을 Chrome 옵션으로 지정합니다.
일련번호가 지정되지 않은 경우 서버는 각 세션과 연결할 미사용 기기를 무작위로 선택합니다. 모든 기기에 이미 활성 세션이 있는 경우 오류가 반환되므로 테스트가 완료되면 quit을 호출해야 합니다.
wd/hub
에 연결
테스트에서 wd/hub
에 연결될 것으로 예상되는 경우 서버를 시작할 때 --url-base=wd/hub
를 추가할 수 있습니다.
$ ./chromedriver --url-base=wd/hub