Chạy tập lệnh Robo (Android)

Tài liệu này mô tả cách sử dụng tập lệnh Robo. Đây là các chương trình kiểm thử tự động hoá các nhiệm vụ QA thủ công cho ứng dụng di động, đồng thời hỗ trợ tích hợp liên tục (CI) và các chiến lược kiểm thử trước khi phát hành. Ví dụ: bạn có thể sử dụng tập lệnh Robo để kiểm thử hành trình thông thường của người dùng hoặc cung cấp dữ liệu đầu vào cụ thể cho giao diện người dùng (UI), chẳng hạn như tên người dùng và mật khẩu. Tập lệnh Robo là một tính năng của kiểm thử Robo.

Với tập lệnh Robo, bạn sẽ tự ghi lại quá trình thực hiện quy trình công việc trong ứng dụng, sau đó tải bản ghi đó lên bảng điều khiển Firebase để chạy trong các kiểm thử Robo. Khi bạn chạy kiểm thử Robo bằng một tập lệnh đính kèm, trước tiên, Robo sẽ thực hiện các hành động có trong tập lệnh trước rồi mới tiến hành kiểm thử ứng dụng như thường lệ.

Tập lệnh Robo sử dụng Kiểm thử Robo làm công cụ kiểm thử. Ở dạng cơ bản nhất, tập lệnh Robo bao gồm một trình tự các thao tác trên giao diện người dùng như nhập văn bản "username" rồi nhấn vào nút OK. Tập lệnh Robo cũng có thể bao gồm các thao tác như chờ một phần tử xuất hiện, nhấn vào một điểm cụ thể trong một phần tử và thực thi các lệnh shell của Cầu gỡ lỗi Android (adb).

So với các khung kiểm thử truyền thống, tập lệnh Robo có những ưu điểm sau:

Chức năng Nội dung mô tả
Rất mạnh mẽ Tập lệnh Robo có thể chấp nhận những khác biệt đáng kể về cấu trúc và hành vi giữa các phiên bản ứng dụng và tính không ổn định của ứng dụng.
Câu hỏi mở Sau khi tập lệnh Robo hoàn tất, quy trình kiểm thử Robo cơ sở có thể tiếp quản và tiếp tục kiểm thử ứng dụng. Phương pháp kiểm thử liên tục này cho phép một số trường hợp sử dụng chính. Ví dụ: bạn có thể sử dụng tập lệnh Robo để đưa một ứng dụng vào một trạng thái cụ thể bằng cách thực hiện quy trình đăng nhập tuỳ chỉnh.
Có thể ghi âm Bạn không cần phải tự viết mã cho tập lệnh Robo. Bạn có thể ghi lại các tập lệnh đó bằng trình ghi tập lệnh Robo trong Android Studio. Việc tạo hoặc sửa đổi tập lệnh Robo thường không yêu cầu bạn phải có kiến thức về phát triển ứng dụng di động.
Linh hoạt Tập lệnh Robo có thể tương tác với các thành phần giao diện người dùng không phải gốc thường thấy trong trò chơi.

Tập lệnh Robo được kích hoạt có điều kiện trong quá trình kiểm thử Robo, cho phép người dùng tăng cường hành vi của Robo – thường là để đạt được phạm vi kiểm thử lớn hơn hoặc nhắm đến chức năng cụ thể. Ngược lại với các khung kiểm thử truyền thống, tập lệnh Robo hỗ trợ những tính năng sau:

  • Nhiều điều kiện kích hoạt, ví dụ: tên gói ứng dụng cụ thể đang hoạt động (hoặc không) hoặc một phần tử cụ thể đang hiển thị trên màn hình (hoặc không).
  • Các chế độ kiểm soát thực thi, ví dụ: số lần thực thi tối đa, mức độ ưu tiên, giai đoạn thu thập dữ liệu có liên quan.
  • Các loại hành động không thông thường (có điều kiện, bỏ qua phần tử, đóng màn hình).

Bạn nên sử dụng tập lệnh Robo bất cứ khi nào có thể vì bạn có thể dễ dàng duy trì các tập lệnh này. Ví dụ: bạn có thể sử dụng tập lệnh Robo để làm những việc sau:

  • Điều hướng các quy trình làm việc quan trọng để nắm được chức năng cốt lõi của ứng dụng. Ví dụ: bạn có thể đăng nhập, thiết lập trạng thái của ứng dụng sau lần chạy đầu tiên và đăng ký người dùng mới.
  • Tập trung Robo vào một phần cụ thể của ứng dụng để tận dụng tối đa thời gian kiểm thử Robo. Tập lệnh Robo hướng dẫn kiểm thử Robo để truy cập vào phần liên quan của ứng dụng, nơi kiểm thử Robo tiếp tục thu thập dữ liệu tự động hoàn toàn.
  • Đưa ứng dụng vào một trạng thái hoặc màn hình cụ thể để thực hiện phân tích, ví dụ: phân tích thông báo trong ứng dụng, chính sách quyền riêng tư hoặc cấp độ cụ thể của trò chơi.
  • Thực hiện kiểm thử đo lường toàn diện, có hoặc không có kiểm thử Robo tiếp tục thu thập dữ liệu tự động hoàn toàn sau khi tập lệnh Robo hoàn tất.

Sử dụng các tính năng nâng cao hơn của tập lệnh Robo để làm những việc sau:

  • Thực hiện các thao tác trước khi Robo bắt đầu thu thập dữ liệu ứng dụng đang được kiểm thử hoặc sau khi thu thập dữ liệu xong, ví dụ: xoá dữ liệu ứng dụng đang được kiểm thử trước khi thu thập dữ liệu hoặc thay đổi chế độ cài đặt thiết bị.
  • Thay đổi các khía cạnh của hành vi của Robo trong quá trình thu thập dữ liệu, cụ thể:
    • Bỏ qua một số tiện ích trên giao diện người dùng hoặc màn hình ứng dụng cho Robo.
    • Cung cấp một thao tác tuỳ chỉnh để Robo thực hiện khi quay lại từ một màn hình cụ thể.
    • Yêu cầu Robo thực hiện các hành động cụ thể mỗi khi gặp một màn hình ứng dụng cụ thể trong quá trình thu thập thông tin.
  • Tuỳ chỉnh hoàn toàn cách Robo thu thập dữ liệu. Ví dụ: sử dụng kết hợp các thao tác có điều kiện và không có điều kiện để duy trì ứng dụng đang được kiểm thử ở chế độ nền trong suốt quá trình thu thập thông tin, đồng thời thực hiện các thao tác trên thiết bị và đóng mọi hộp thoại bật lên xuất hiện trong quá trình này.

Xin lưu ý rằng tập lệnh Robo không thay thế tất cả các loại kiểm thử. Bạn vẫn cần kiểm thử đơn vị để phát hiện lỗi logic cấp thấp trong ứng dụng; các kiểm thử này thường không yêu cầu môi trường Android hoặc iOS. Bạn nên bổ sung các kiểm thử tập lệnh Robo bằng các kiểm thử đo lường được nhắm mục tiêu có thể có các xác nhận cụ thể, chi tiết về logic nghiệp vụ, được thể hiện tốt nhất trong mã.

Ghi lại tập lệnh Robo bằng Test Lab trong Android Studio

Trình ghi tập lệnh Robo trong Android Studio cho phép bạn ghi lại tập lệnh Robo bằng cách tương tác trực tiếp với ứng dụng trên thiết bị. Hãy làm theo các hướng dẫn sau để bắt đầu tạo tập lệnh Robo thông qua công cụ Firebase trong Android Studio:

  1. Mở Android Studio rồi chọn Tools -> Firebase (Công cụ -> Firebase).

  2. Trong ngăn Firebase, hãy nhấp vào Ghi lại tập lệnh Robo và sử dụng tập lệnh đó để hướng dẫn kiểm thử Robo.

  3. Nhấp vào Record Robo script (Ghi tập lệnh Robo). Hộp thoại Chọn mục tiêu triển khai sẽ xuất hiện.

  4. Chọn thiết bị mà bạn muốn ghi lại tập lệnh Robo.

  5. Sau khi bạn ghi lại tập lệnh Robo trong thiết bị, hãy lưu tệp dưới dạng tệp JSON ở vị trí mong muốn.

  6. Mở trang Test Lab trong bảng điều khiển Firebase rồi tải tệp tập lệnh JSON và APK ứng dụng lên.

  7. Nhấp vào nút Tiếp tục. Bạn sẽ được nhắc chọn thiết bị và cấp độ API. Sau khi tập lệnh kiểm thử hoàn tất, Test Lab sẽ tạo báo cáo kiểm thử.

  8. (Không bắt buộc) Để sao chép hoặc tải logcat của báo cáo kiểm thử và video xuống, hãy nhấp vào Xem tệp nguồn.

Theo mặc định, các cơ chế tăng cường độ ổn định của tập lệnh Robo sẽ ngăn tập lệnh này gặp lỗi sớm. Nếu bạn chọn chế độ thực thi strict và tập lệnh Robo không thành công tại bất kỳ thời điểm nào, Test Lab sẽ bỏ qua tất cả các bước tiếp theo trong tập lệnh và tiếp tục thu thập dữ liệu Robo thông thường. Thông thường, tập lệnh Robo không thành công vì Robo không thể tìm thấy một phần tử bắt buộc trên màn hình. Để tránh lỗi, hãy đảm bảo rằng thao tác điều hướng trong ứng dụng của bạn có thể dự đoán được và màn hình hiển thị theo thứ tự xác định.

Chạy tập lệnh Robo trong Test Lab

Để chạy tập lệnh Robo trong Test Lab, hãy làm theo các hướng dẫn sau:

  1. Mở trang Test Lab trong bảng điều khiển Firebase.

  2. Tải tệp APK hoặc AAB của ứng dụng lên trong trường APK hoặc AAB của ứng dụng.

  3. Tải tệp tập lệnh Robo đã ghi hoặc tạo theo cách thủ công lên trong trường Tập lệnh Robo (không bắt buộc).

Cung cấp tập lệnh Robo cho một lần chạy kiểm thử Robo cục bộ

Để cung cấp tập lệnh Robo cho một lần chạy kiểm thử Robo cục bộ, hãy sử dụng tuỳ chọn kiểm thử Robo sau:

--robo-script-file <robo-script-path>

Thay thế <robo-script-path> bằng đường dẫn đến tệp tập lệnh Robo trong hệ thống tệp cục bộ. Làm theo hướng dẫn để chạy kiểm thử Robo cục bộ.

Chỉ định tập lệnh Robo trong lệnh gọi kiểm thử gcloud CLI

Để chỉ định tập lệnh Robo trong lệnh gọi kiểm thử gcloud CLI, hãy sử dụng cờ gcloud CLI sau:

--robo-script = <robo-script-path>

Thay thế <robo-script-path> bằng đường dẫn đến tệp tập lệnh Robo trong hệ thống tệp cục bộ hoặc trong Cloud Storage bằng ký hiệu gs://. Ví dụ:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Các bước tiếp theo