Phần phụ thuộc
Bạn có thể thấy các tệp nhị phân cho ChromeDriver được đóng gói dưới dạng tệp zip cho nhiều máy chủ lưu trữ trên trang tải xuống.
Ứng dụng được hỗ trợ
ChromeDriver hỗ trợ chạy thử nghiệm 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) và đã bật tính năng gỡ lỗi web và JavaScript. Bạn có thể cài đặt ứng dụng Chrome qua:
Phiên bản ổn định: https://play.google.com/store/apps/details?id=com.android.chrome
Liên kết ngôn ngữ của Selenium WebDriver
Bạn cần cài đặt các mối liên kết ngôn ngữ tiêu chuẩn của dự án selenium WebDriver đối với ngôn ngữ mà bạn chọn để viết chương trình kiểm thử. Thư viện này có trong trình quản lý gói cục bộ thân thiện của bạn hoặc dự án selenium (https://www.seleniumhq.org/download/). 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ừ phiên bản Chrome 33, thiết bị đã bị can thiệp hệ thống không còn cần thiết nữa. Nếu chạy kiểm thử
trên các phiên bản Chrome thấp hơn, cần phải can thiệp vào hệ thống các thiết bị dưới dạng ChromeDriver
yêu cầu quyền ghi vào thư mục /data/local
để đặt lệnh của Chrome
đối số dòng.
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 adb shell có quyền đọc/ghi vào thư mục /data/local trên thiết bị:
$ adb shell su -c chmod 777 /data/local
Thông thường, 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. Hãy xem phần Bắt đầu để biết thêm thông tin.
$ ./chromedriver
Tuỳ chọn dành riêng cho Android
Các Tuỳ chọn Chrome sau đây có thể á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 một thư mục dữ liệu rõ ràng.
Các khả 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 bài kiểm thử phải chuyển tên gói của ứng dụng đến ChromeDriver thông qua tuỳ chọn androidPackage
. Ví dụ: một chương trình kiểm thử Python tối thiểu sẽ 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 hoạt động, hãy chỉ định androidDeviceSerial
làm
Tuỳ chọn Chrome.
Nếu số sê-ri không được chỉ định, máy chủ sẽ chọn một thiết bị không sử dụng tại ngẫu nhiên để liên kết với mỗi phiên. Hệ thống sẽ trả về lỗi nếu tất cả thiết bị đã có các phiên đang hoạt động, vì vậy các lượt kiểm thử phải đảm bảo gọi thoát khi đã hoàn tất.
Kết nối với wd/hub
Nếu quy trình kiểm thử của bạn dự kiến 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