Tài liệu này mô tả cách sử dụng Tập lệnh Robo. Đây là các kiểm thử tự động hoá các tác vụ kiểm thử chất lượng theo cách thủ công cho ứng dụng di động, đồng thời cho phép tích hợp liên tục (CI) và các chiến lược kiểm thử trước khi ra mắt. Ví dụ: bạn có thể 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 thông tin đầ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 thử nghiệm Robo.
Với tập lệnh Robo, bạn ghi lại quy trình làm việc trong ứng dụng của mình, sau đó tải bản ghi đó lên bảng điều khiển Firebase để chạy trong các bài kiểm thử Robo. Khi bạn chạy một thử nghiệm Robo có tập lệnh đính kèm, 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 thử nghiệm ứ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, một tập lệnh Robo bao gồm một chuỗi các thao tác trên giao diện người dùng, chẳng hạn như nhập văn bản "tên người dùng" 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ầu gỡ lỗi Android (adb
).
Tập lệnh Robo có những ưu điểm sau so với các khung kiểm thử truyền thống:
Khả năng | Nội dung mô tả |
Rất mạnh mẽ | Các tập lệnh Robo có thể chịu được 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 cũng 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, kiểm thử Robo cơ bản 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 thực hiện 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 ứng dụng vào một trạng thái cụ thể bằng cách thực hiện một quy trình đăng nhập tuỳ chỉnh. |
Có thể ghi | Bạn không cần phải viết mã tập lệnh Robo theo cách thủ công. Bạn có thể ghi lại các tập lệnh này 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 phần tử giao diện người dùng không phải là phần tử gốc thường thấy trong các 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ử bằng 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 bao phủ rộng hơn hoặc nhắm đến chức năng cụ thể. Không giống như các khung kiểm thử truyền thống, tập lệnh Robo hỗ trợ những nội dung sau:
- Nhiều điều kiện kích hoạt, ví dụ: một 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 việc thực thi, ví dụ: số lượng tối đa các lần thực thi, mức độ ưu tiên, giai đoạn thu thập dữ liệu có liên quan.
- Các loại thao tác không theo quy ước (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 một 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 một ứng dụng. Ví dụ: bạn có thể thực hiện thao tác đăng nhập, thiết lập trạng thái của ứng dụng sau lần khởi 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 thử nghiệm bằng Robo. Tập lệnh Robo hướng dẫn quy trình kiểm thử Robo để truy cập vào phần có liên quan của một ứng dụng, nơi quy trình kiểm thử Robo tiếp tục một quy trình thu thập dữ liệu hoàn toàn tự động.
- Đưa một ứng dụng vào một trạng thái hoặc màn hình cụ thể để phân tích, ví dụ: phân tích một 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 một trò chơi.
- Thực hiện một kiểm thử đo lường từ đầu đến cuối, có hoặc không có kiểm thử Robo tiếp tục thu thập dữ liệu hoàn toàn tự động sau khi tập lệnh Robo hoàn tất.
Sử dụng các tính năng nâng cao khác 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 thử nghiệm hoặc sau khi quá trình thu thập dữ liệu hoàn tất, ví dụ: xoá dữ liệu ứng dụng đang thử nghiệm 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 về hành vi của Robo trong quá trình thu thập dữ liệu, cụ thể là:
- Khiến Robo 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.
- 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ể.
- Cho phép Robo thực hiện các thao tác cụ thể bất cứ khi nào một màn hình ứng dụng cụ thể xuất hiện trong quá trình thu thập dữ liệu.
- Tuỳ chỉnh hoàn toàn cách Robo thực hiện hoạt động thu thập dữ liệu. Ví dụ: hãy 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 để giữ ứng dụng đang thử nghiệm ở chế độ nền trong suốt quá trình thu thập dữ liệu, đồng thời thực hiện các thao tác trên thiết bị và loại bỏ 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ế được mọi loại kiểm thử. Bạn vẫn cần các bài kiểm thử đơn vị để phát hiện lỗi logic cấp thấp trong ứng dụng; các bài 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ử bằng tập lệnh Robo bằng các kiểm thử đo lường có mục tiêu có thể có các câu khẳng định cụ thể, chi tiết về logic nghiệp vụ, được thể hiện rõ 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 sử dụng tập lệnh Robo thông qua công cụ Firebase trong Android Studio:
Mở Android Studio rồi chọn Tools -> Firebase (Công cụ -> Firebase).
Trong ngăn Firebase, hãy nhấp vào Ghi lại tập lệnh Robo và dùng tập lệnh đó để hướng dẫn kiểm thử Robo.
Nhấp vào Ghi tập lệnh Robo. Hộp thoại Chọn mục tiêu triển khai sẽ xuất hiện.
Chọn thiết bị mà bạn muốn ghi lại tập lệnh Robo.
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.
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.
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ử.
(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ế mạnh mẽ 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à một tập lệnh Robo bị lỗi 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 bằng Robo theo cách thông thường. Thông thường, tập lệnh Robo không hoạt động vì Robo không 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 hoạt động điều hướng trong ứng dụng của bạn có thể dự đoán được và các màn hình xuất hiện theo một thứ tự nhất đị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:
Mở trang Test Lab trong bảng điều khiển Firebase.
Tải APK hoặc AAB của ứng dụng lên trong trường APK hoặc AAB của ứng dụng.
Tải tệp tập lệnh Robo đã ghi hoặc do bạn tạo theo cách thủ công lên 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 dùng lựa 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 kịch bản Robo trong hệ thống tệp cục bộ. Làm theo hướng dẫn chạy Thử nghiệm Robo tại địa phương.
Chỉ định một tập lệnh Robo trong lệnh gọi kiểm thử gcloud CLI
Để chỉ định một 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 cách sử dụ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
- Để tìm hiểu về cấu trúc, khả năng, cách sử dụng và các thao tác của tập lệnh Robo, hãy xem hướng dẫn tham khảo về tập lệnh Robo.
- Chạy thử nghiệm Robo.