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à những chương trình kiểm thử tự động hoá các tác vụ đảm bảo chất lượng thủ công cho ứng dụng di động, đồng thời hỗ trợ tính năng tích hợp liên tục (CI) và chiến lược kiểm thử trước khi ra mắt. Ví dụ: bạn có thể sử dụng các tập lệnh Robo để thử nghiệm một hành trình phổ biến của người dùng hoặc cung cấp thông tin đầu vào cụ thể trên 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 quá trình thực hiện một 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 của Firebase để chạy trong các thử nghiệm Robo. Khi bạn chạy thử nghiệm Robo có đính kèm một tập lệnh, trước tiên, Robo thực hiện các bước thông qua các hành động được soạn sẵn, sau đó khám phá ứng dụng như bình thường.

Tập lệnh Robo sử dụng công cụ thử nghiệm Rbo. Ở dạng cơ bản nhất, tập lệnh Robo bao gồm một trình tự các hành động trên giao diện người dùng như nhập văn bản "tên người dùng", sau đó nhấn vào nút OK. Tập lệnh Robo cũng có thể bao gồm những 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ó các ưu điểm sau:

Chức năng Nội dung mô tả
Mạnh mẽ Các tập lệnh Robo có thể chấp nhận sự 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 dễ dàng 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ơ sở có thể tiếp quản và tiếp tục thử nghiệm ứng dụng. Phương pháp thử nghiệm liên tục này hỗ trợ 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 để chuyển một ứng dụng sang 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 được Bạn không cần phải viết mã cho 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 đòi hỏi bạn phải có kiến thức về phát triển thiết bị di động.
Linh hoạt Tập lệnh Robo có thể tương tác với các thành phần không phải gốc trên giao diện người dùng thường thấy trong trò chơi.

Tập lệnh Robo được kích hoạt theo đ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à để có được mức độ phù hợp cao hơn hoặc nhắm mục tiêu chức năng cụ thể cụ thể hơn. Trái ngược 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 biện pháp kiểm soát quá trình thực thi, chẳng hạn như số lượt thực thi tối đa, mức độ ưu tiên, giai đoạn thu thập dữ liệu liên quan.
  • Các loại thao tác khác 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ì chúng có thể được duy trì dễ dàng. Ví dụ: bạn có thể sử dụng tập lệnh Robo để thực hiện những việc sau:

  • Nắm rõ các quy trình công 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 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 kiểm thử Robo. Tập lệnh Robo sẽ hướng dẫn quy trình kiểm thử Robo tiếp cận phần liên quan của ứng dụng, khi đó, quá trình kiểm tra Robo sẽ tiếp tục quá trình 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ể để thực hiện phân tích, chẳng hạn như để 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 tra đo lường toàn diện, 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 để thực hiện những việc sau:

  • Thực hiện các thao tác trước khi Robo bắt đầu thu thập thông tin trong quá trình kiểm thử ứng dụng hoặc sau khi thu thập xong dữ liệu (ví dụ: làm sạch dữ liệu kiểm thử ứng dụng 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à:
    • 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 thao tác tuỳ chỉnh để Robo thực hiện khi theo dõi ngược từ một màn hình cụ thể.
    • Yêu cầu Robo thực hiện các thao tác cụ thể bất cứ khi nào màn hình ứng dụng cụ thể gặp phải trong quá trình thu thập thông tin.
  • Tuỳ chỉnh hoàn toàn cách Robo thu thập thông tin. 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ì hoạt động kiểm thử ứng dụng ở 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 đối với 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 thu thập thông tin.

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 kiểm thử đơn vị để phát hiện các lỗi logic cấp thấp trong ứng dụng của mình; các quy trình 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 nhắm mục tiêu có thể có các câu nhận đị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 Phòng thử nghiệm trong Android Studio

Trình ghi tập lệnh Robo trong Android Studio cho phép bạn ghi lại các 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:

  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 Record Robo Script and Use this to Guide Robo Test (Ghi lại tập lệnh Robo và sử dụng tập lệnh đó để hướng dẫn quy trình kiểm thử Robo).

  3. Nhấp vào Ghi 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.

  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ào vị trí mong muốn.

  6. Mở trang Phòng thử nghiệm trong bảng điều khiển của 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 cấp thiết bị và API. Sau khi tập lệnh kiểm thử hoàn tất, Phòng thử nghiệm 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 View Source Files (Xem tệp nguồn).

Theo mặc định, cơ chế độ mạnh của tập lệnh Robo ngăn chặn tình trạng 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 bất cứ lúc nào, Phòng thử nghiệm 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 thông tin Robo thông thường. Thông thường, các tập lệnh Robo không thành công vì Robo không thể tìm thấy phần tử bắt buộc trên màn hình. Để tránh lỗi, hãy đảm bảo tính nă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 hiển thị theo thứ tự xác định.

Chạy tập lệnh Robo trong Phòng thử nghiệm

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

  1. Mở trang Phòng thử nghiệm trong bảng điều khiển của Firebase.

  2. Tải APK hoặc AAB của ứng dụng lên 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 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 lần chạy thử nghiệm Robo tại địa phương

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

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

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

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

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

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

Thay thế <robo-script-path> bằng một đường dẫn đến tệp tập lệnh Robo của bạn 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