Tài liệu này mô tả cách sử dụng tập lệnh Robo. Đây là các bài kiểm thử tự động hoá các tác vụ QA 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ể 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 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 sẽ ghi lại quá trình mình thực hiện một quy trình làm 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 thử nghiệm Robo. Khi bạn chạy thử nghiệm Robo bằng một 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 Thử nghiệm 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 chuỗi các hành động 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 hành động 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).
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ẽ | 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ư sự 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, thử nghiệm 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 quy trình đăng nhập tuỳ chỉnh. |
| Bóng bay có thể ghi âm | 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 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 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à gốc thường có trong trò chơi. |
Tập lệnh Robo được kích hoạt có điều kiện trong quá trình thử nghiệm Robo, cho phép người dùng tăng cường hành vi của Robo – thường là để đạt được mức độ bao phủ cao 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 điều 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ần thực thi tối đa, mức độ ưu tiên, giai đoạn thu thập thông tin liên quan.
- Các loại hành động 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ể duy trì tập lệnh này một cách dễ dàng. 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 để đi đến cốt lõi của chức năng ứ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 Robo. Tập lệnh Robo hướng dẫn thử nghiệm Robo đến phần liên quan của ứng dụng, nơi thử nghiệm Robo tiếp tục thu thập thông tin hoàn toàn tự động.
- Đưa ứ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 thông báo trong ứng dụng, chính sách quyền riêng tư hoặc một cấp độ cụ thể của trò chơi.
- Thực hiện kiểm thử đo lường từ đầu đến cuối, có hoặc không có Thử nghiệm Robo tiếp tục thu thập thông tin 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 hơn của tập lệnh Robo để làm những việc sau:
- Thực hiện các hành động trước khi Robo bắt đầu thu thập thông tin về ứng dụng đang kiểm thử hoặc sau khi quá trình thu thập thông tin hoàn tất, ví dụ: xoá dữ liệu ứng dụng đang kiểm thử trước khi thu thập thông tin hoặc thay đổi chế độ cài đặt thiết bị.
- Thay đổi các khía cạnh của hành vi Robo trong quá trình thu thập thông tin, đặc biệt là:
- Yêu cầu Robo bỏ qua một số tiện ích giao diện người dùng hoặc màn hình ứng dụng.
- Cung cấp một hành động 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ể bất cứ khi nào 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 thực hiện quá trình thu thập thông tin. Ví dụ: sử dụng kết hợp các hành động có điều kiện và không có điều kiện để giữ ứng dụng đang 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 trên đường đi.
Xin lưu ý rằng tập lệnh Robo không thay thế tất cả các loại thử nghiệm. 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 bài kiểm thử tập lệnh Robo bằng các bài kiểm thử đo lường có mục tiêu có thể có các khẳng định cụ thể, chi tiết về logic nghiệp vụ, được thể hiện tốt nhất bằng 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.
Trong ngăn Firebase, hãy nhấp vào Record Robo Script and Use it to Guide Robo Test (Ghi lại tập lệnh Robo và sử dụng tập lệnh đó để hướng dẫn thử nghiệm Robo).
Nhấp vào Record Robo script (Ghi lại tập lệnh Robo). Hộp thoại Select Deployment Target (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 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 Continue (Tiếp tục). Bạn được nhắc chọn thiết bị và cấp độ API. Sau khi kịch bản kiểm tra 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 View Source Files (Xem tệp nguồn).
Theo mặc định, 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à tập lệnh Robo gặp lỗi tại bất kỳ thời điểm nào,
Test Lab sẽ huỷ bỏ tất cả các bước tiếp theo trong tập lệnh và tiếp tục thu thập thông tin Robo thông thường. Thông thường, tập lệnh Robo gặp lỗi 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 quy trình điều hướng ứng dụng của bạn có thể dự đoán được và màn hình của bạn được hiển thị theo một 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:
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 App APK or AAB field (Trường APK hoặc AAB của ứng dụng).
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 Robo script (optional) (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 thử nghiệm Robo cục bộ
Để cung cấp tập lệnh Robo cho một lần chạy thử nghiệm Robo cục bộ, hãy sử dụng tuỳ chọn thử nghiệm 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 cho một lần chạy thử nghiệm Robo cục bộ
run.
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
- Để tìm hiểu về cấu trúc, khả năng, cách sử dụng và các hành động 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.