종속 항목
ChromeDriver용 바이너리는 다양한 호스트에 대한 ZIP 파일로 패키징되어 있습니다. 다운로드 페이지에서 플랫폼에 대한 자세한 내용을 참조하세요.
지원되는 앱
ChromeDriver는 Chrome 브라우저 (버전 30 이상)에서의 테스트 실행을 지원하며 웹 디버깅 및 JavaScript를 사용 설정한 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에서 기기를 ChromeDriver로 루팅해야 했습니다.
Chrome 명령어를 설정하려면 /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 옵션
일련번호가 지정되지 않은 경우 서버는 다음 위치에서 사용되지 않은 기기를 선택합니다. 각 세션과 연결되도록 합니다. 모든 기기가 이미 활성 세션이 있으므로 테스트 시 있습니다.
wd/hub
에 연결
테스트에서 wd/hub
에 연결될 것으로 예상되는 경우 --url-base=wd/hub
를 추가할 수 있습니다.
: 서버를 시작할 때:
$ ./chromedriver --url-base=wd/hub