Android

Phần phụ thuộc

Bạn có thể tìm thấy tệp nhị phân cho ChromeDriver được đóng gói dưới dạng tệp zip cho nhiều nền tảng lưu trữ khác nhau trên trang tải xuống.

Ứng dụng được hỗ trợ

ChromeDriver hỗ trợ chạy các 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 trong Android 4.4 (KitKat) đã bật tính năng gỡ lỗi webJavaScript. 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 trong dự án selen tiêu chuẩn cho ngôn ngữ mà bạn chọn khi viết kiểm thử. Bạn có thể sử dụng thư viện này trong trình quản lý gói cục bộ thân thiện hoặc dự án selenium (https://www.seleniumhq.org/download/). Ví dụ: bạn có thể cài đặt 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, bạn không cần thiết bị bị can thiệp hệ thống nữa. Nếu chạy kiểm thử trên các phiên bản Chrome thấp hơn, thì thiết bị cần phải bị can thiệp vào hệ thống do ChromeDriver yêu cầu quyền ghi vào thư mục /data/local để đặt các đối số dòng lệnh của Chrome.

Chạy ChromeDriver

  1. Khởi động máy chủ Cầu gỡ lỗi Android (adb) của SDK Android:

    $ adb start-server
    
  2. 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
    
  3. 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 á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ị mà bạn dùng để chạy ứng dụng (Xem phần Nhiều thiết bị dưới đây).
  • 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 đó với thư mục dữ liệu rõ ràng.

Các khả năng sau 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 quá trình sẽ được giả định là giống với androidPackage.

Chạy kiểm thử

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, 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 một thiết bị không dùng đến trong ngẫu nhiên để 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ị đã có phiên đang hoạt động, vì vậy, hoạt động kiểm thử phải đảm bảo lệnh gọi thoát khi hoàn tất.

Kết nối với wd/hub

Nếu kiểm thử của bạn muố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