Tệp nhị phân mới nhất cho ChromeDriver được đóng gói dưới dạng tệp zip cho nhiều nền tảng lưu trữ.
Bạn có thể tìm thấy các phiên bản ChromeDriver cũ hơn trong phần Tải xuống.
Ứng dụng được hỗ trợ
ChromeDriver hỗ trợ chạy kiểm thử trên trình duyệt Chrome (phiên bản 30 trở lên) và các ứng dụng dựa trên WebView bắt đầu từ Android 4.4 (KitKat) đã bật tính năng gỡ lỗi web và JavaScript.
Bạn có thể cài đặt ứng dụng Chrome từ:
Phiên bản ổn định: https://play.google.com/store/apps/details?id=com.android.chrome
Liên kết ngôn ngữ Selenium WebDriver
Bạn cần cài đặt các liên kết ngôn ngữ WebDriver của dự án Selenium tiêu chuẩn cho ngôn ngữ bạn chọn để viết mã kiểm thử. Thư viện này có trong trình quản lý gói cục bộ hoặc dự án Selenium.
Ví dụ: bạn có thể cài đặt các liên kết ngôn ngữ cho Python bằng pip.
$ pip install selenium
SDK Android
Bạn có thể tải SDK xuống từ developer.android.com/sdk/.
Yêu cầu về thiết bị
Kể từ Chrome phiên bản 33, bạn không cần thiết bị bị can thiệp hệ thống. Nếu chạy kiểm thử trên các phiên bản Chrome cũ, thiết bị phải được can thiệp vào hệ thống vì ChromeDriver yêu cầu quyền ghi vào thư mục /data/local
để đặt đối số dòng lệnh của Chrome.
Chạy ChromeDriver
Khởi động máy chủ Cầu gỡ lỗi Android (adb) của SDK Android:
$ adb start-server
Nếu kiểm thử trên ứng dụng Chrome trước phiên bản 33, hãy đảm bảo shell adb có quyền đọc và ghi vào thư mục
/data/local
trên thiết bị:$ adb shell su -c chmod 777 /data/local
Bạn nên khởi động ChromeDriver thông qua thư viện Selenium, mặc dù bạn cũng có thể khởi động ChromeDriver theo cách thủ công từ dòng lệnh.
$ ./chromedriver
Các tuỳ chọn chỉ dành cho Android
Các Tuỳ chọn Chrome sau đây áp dụng cho cả ứng dụng Chrome và WebView:
androidPackage
: Tên gói của ứng dụng Chrome hoặc WebView.androidDeviceSerial
: (Không bắt buộc) Số sê-ri của thiết bị để chạy ứng dụng (Xem phần Nhiều thiết bị bên dưới).androidUseRunningApp
: (Không bắt buộc) Đính kèm vào một ứng dụng đang chạy thay vì chạy ứng dụng bằng thư mục dữ liệu trống.
Các chức năng sau đây chỉ áp dụng cho ứng dụng WebView.
- androidActivity: Tên của Hoạt động lưu trữ WebView.
- androidProcess: (Không bắt buộc) Tên quy trình của Hoạt động lưu trữ WebView (do ps cung cấp). Nếu không được cung cấp, tên quy trình được giả định là giống với
androidPackage
.
Chạy thử nghiệm
Các chương trình kiểm thử phải truyền tên gói của ứng dụng đến ChromeDriver thông qua tuỳ chọn androidPackage
. Ví dụ: một kiểm thử Python tối thiểu có dạng như sau:
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()
Nhiều thiết bị
Để sử dụng một thiết bị cụ thể cho một phiên, hãy chỉ định androidDeviceSerial
làm tuỳ chọn Chrome.
Nếu bạn không chỉ định số sê-ri, máy chủ sẽ chọn ngẫu nhiên một thiết bị không sử dụng để liên kết với từng phiên. Hệ thống sẽ trả về lỗi nếu tất cả thiết bị đều có phiên hoạt động, vì vậy, các chương trình kiểm thử phải đảm bảo gọi lệnh thoát khi hoàn tất.
Kết nối với wd/hub
Nếu các chương trình kiểm thử của bạn dự kiến sẽ kết nối với wd/hub
, bạn có thể thêm --url-base=wd/hub
khi khởi chạy máy chủ:
$ ./chromedriver --url-base=wd/hub