Hành trình cho Android Studio tận dụng khả năng suy luận và nhận dạng của AI để điều hướng và kiểm thử ứng dụng dựa trên hướng dẫn bằng ngôn ngữ tự nhiên của bạn. Tập hợp hướng dẫn của bạn (gọi là hành trình) sẽ được chuyển đổi thành các hành động mà AI thực hiện trên ứng dụng. Ngoài ra, bạn có thể viết và mô tả các khẳng định phức tạp hơn mà AI đánh giá dựa trên những gì AI nhìn thấy trên thiết bị.
Và vì Gemini suy luận về những hành động cần thực hiện để đáp ứng các mục tiêu, nên hành trình có khả năng phục hồi tốt hơn trước những thay đổi nhỏ đối với bố cục hoặc hành vi của ứng dụng. Do đó, số lượng bài kiểm thử không ổn định sẽ ít hơn khi chạy trên các phiên bản khác nhau của ứng dụng và các cấu hình thiết bị khác nhau.
Bạn có thể viết và chạy hành trình ngay từ Android Studio hoặc từ dòng lệnh trên mọi thiết bị chạy Android cục bộ hoặc từ xa. IDE cung cấp trải nghiệm trình chỉnh sửa mới để tạo hành trình cũng như kết quả phong phú giúp bạn theo dõi tốt hơn quá trình suy luận và thực thi hành trình của Gemini.
Viết hành trình
Android Studio cung cấp một mẫu tệp và trải nghiệm trình chỉnh sửa mới giúp bạn tạo và chỉnh sửa hành trình dễ dàng hơn. Hành trình được viết bằng cú pháp XML để sắp xếp nội dung mô tả và các bước của hành trình.
Để tạo và bắt đầu chỉnh sửa hành trình, hãy làm như sau:
- Trong bảng điều khiển Project (Dự án) trong Android Studio, hãy nhấp chuột phải vào mô-đun ứng dụng mà bạn muốn viết hành trình.
- Chọn New > Journey Test (Mới > Kiểm thử hành trình).
Trong hộp thoại xuất hiện, hãy cung cấp tên và nội dung mô tả cho hành trình.
Hộp thoại trong Android Studio mà bạn dùng để tạo tệp hành trình. Nhấp vào Hoàn tất. Android Studio tạo một tệp XML cho hành trình của bạn bằng tên mà bạn đã chọn. Bạn có thể sử dụng khung hiển thị Code (Mã) để chỉnh sửa trực tiếp XML hoặc khung hiển thị Design (Thiết kế) để có trải nghiệm chỉnh sửa đơn giản.
Khi xem hành trình trong khung hiển thị Design (Thiết kế), hãy sử dụng trường văn bản để mô tả từng bước của hành trình. Mỗi bước có thể bao gồm các hành động mô tả bạn muốn Gemini thực hiện hoặc các khẳng định mà bạn muốn Gemini đánh giá.
Nhấn Enter trên bàn phím để bắt đầu một bước mới trong cùng một hành trình. Bạn có thể lặp lại thao tác này khi cần cho từng bước của hành trình mà bạn muốn xác định.
Định cấu hình biến thể bản dựng
Hành trình chạy trên các biến thể bản dựng cụ thể của ứng dụng. Khi bạn tạo hành trình lần đầu tiên bằng trình hướng dẫn, bộ kiểm thử được tạo sẽ được định cấu hình để chạy trên biến thể bản dựng đang hoạt động trong Android Studio.
Tuy nhiên, nếu sau này bạn chuyển biến thể bản dựng đang hoạt động trong Android Studio (ví dụ: sang một hương vị sản phẩm khác như demoDebug) mà không cập nhật cấu hình, thì việc chạy hành trình sẽ không thành công. Để khắc phục vấn đề này, bạn phải thêm biến thể mới
vào thuộc tính targetVariants trong khối testSuites của tệp build.gradle.kts (hoặc build.gradle) ở cấp mô-đun.
Ví dụ: để định cấu hình bộ journeysTest cho biến thể demoDebug:
android {
// ...
testSuites {
create("journeysTest") {
// ...
targetVariants += listOf("demoDebug")
}
}
}
Mẹo viết hành trình
Mặc dù AI có thể hiểu hầu hết các bước được viết bằng các ngôn ngữ được hỗ trợ, nhưng việc làm theo các mẹo viết hành trình này có thể mang lại kết quả chính xác và như mong đợi hơn:
- Giả sử ứng dụng của bạn đã ở nền trước: Việc chạy hành trình sẽ tự động khởi chạy ứng dụng. Các bước của hành trình phải bắt đầu sau khi ứng dụng đã khởi chạy hoàn toàn. Tức là bạn không cần đưa "khởi chạy ứng dụng" vào làm một bước.
- Sử dụng ngôn ngữ rõ ràng: Việc sử dụng ngôn ngữ chính xác sẽ giảm thiểu tình trạng hiểu sai và cải thiện độ tin cậy.
| Thay vì | Nên |
|---|---|
| "Chọn nút đóng" | "Nhấn vào 'Đóng'" hoặc chỉ "Đóng" |
| "Nhập 'cần tây'" | "Nhập 'cần tây' vào thanh tìm kiếm ở đầu màn hình chính" |
| "Vuốt để đóng" | "Vuốt sang trái để đóng, sau đó thẻ sẽ không còn hiển thị nữa" |
- Đưa tiêu chí thành công vào làm một phần của bước: Điều này giúp Gemini hiểu rõ hơn ý định của bạn và làm rõ thời điểm hành động hoàn tất và hành động tiếp theo có thể bắt đầu.
| Thay vì | Nên |
|---|---|
| "Chọn nút gửi" | "Gửi email bằng cách nhấn vào nút gửi. Thao tác này sẽ đóng email và đưa bạn quay lại hộp thư đến." |
| "Chuyển đến giỏ hàng" | "Nhấn vào biểu tượng giỏ hàng để chuyển đến trang giỏ hàng. Xác minh rằng giỏ hàng không chứa mặt hàng nào" |
| "Nhấp vào video đầu tiên" | "Nhấp vào video đầu tiên và đợi video tải xong" |
- Tinh chỉnh hành trình: Nếu hành trình không thực thi như mong đợi, bạn có thể xem kết quả và kiểm tra "Hành động đã thực hiện" và "Lý do" tương ứng để hiểu lý do Gemini có thể không thực thi các bước như bạn mong đợi. Sử dụng thông tin này để làm rõ thêm hướng dẫn của bạn.
- Chia hành trình thành các bước cụ thể hơn: Mặc dù AI có thể
diễn giải các bước nhiều hành động, nhưng đôi khi các bước rời rạc chi tiết hơn có thể
cải thiện độ chính xác và khả năng tái tạo của hành trình.
- "Lỗi: Không thể hoàn tất hành động trong số lần thử tối đa được phép": Nếu gặp lỗi này, hãy thử chia các bước không thành công thành 2 hoặc nhiều bước nhỏ hơn. Đó là vì lỗi này xảy ra nếu AI không thể hoàn tất hành động sau khi thử tương tác với ứng dụng của bạn số lần tối đa.
Các tính năng được hỗ trợ và không được hỗ trợ
Sau đây là thông tin tổng quan về các tính năng được hỗ trợ và chưa được hỗ trợ đầy đủ khi viết hành trình. Các danh sách sau đây chưa đầy đủ.
Các hành động sau đây được hỗ trợ trong hành trình:
- Nhấn vào các phần tử trên giao diện người dùng.
- Nhập để nhập văn bản vào các trường văn bản.
- Vuốt/Cuộn theo một hướng nhất định để di chuyển trên giao diện người dùng.
Các tính năng sau đây chưa được hỗ trợ đầy đủ tại thời điểm này hoặc có thể hoạt động không nhất quán:
- Cử chỉ nhiều ngón tay (ví dụ: chụm để thu phóng) – Các tương tác yêu cầu 2 hoặc nhiều điểm tiếp xúc trên màn hình cùng một lúc, chẳng hạn như chụm để thu phóng hoặc vuốt bằng 2 ngón tay.
- Nhấn và giữ – Nhấn và giữ ngón tay trong khoảng thời gian dài hơn thao tác nhấn thông thường.
- Nhấn đúp – Nhanh chóng nhấn vào cùng một vị trí trên màn hình 2 lần liên tiếp trong thời gian ngắn.
- Xoay/gập màn hình – Xử lý các thay đổi về hướng thiết bị (ví dụ: giữa hướng dọc và hướng ngang) hoặc trạng thái vật lý của thiết bị có thể gập lại (ví dụ: mở hoặc đóng).
- Bộ nhớ – Lưu giữ và gọi lại thông tin, bối cảnh hoặc thông tin đầu vào cụ thể của người dùng trong các tương tác hoặc bước trước đó.
- Đếm – Theo dõi chính xác số lượng, tần suất hoặc tiến trình.
- Câu lệnh có điều kiện – Thực thi các hành động dựa trên việc các điều kiện được chỉ định khác có được đáp ứng hay không.
Các tính năng và khả năng không ngừng được cải thiện. Bạn nên kiểm tra trang này sau để tìm hiểu về các tính năng và khả năng bổ sung. Để giúp chúng tôi cải thiện Hành trình, hãy chia sẻ ý kiến phản hồi của bạn.
Chạy hành trình
Bạn có thể chạy hành trình trên mọi thiết bị cục bộ hoặc từ xa có sẵn, tương tự như mọi bài kiểm thử đo lường khác. Android Studio tạo ra kết quả phong phú giúp bạn hiểu rõ quá trình thực thi hành trình.
Để kiểm thử hành trình, hãy làm như sau:
- Chọn một thiết bị mục tiêu từ thanh công cụ chính, giống như khi bạn chạy một bài kiểm thử đo lường.
- Chuyển đến tệp XML hành trình mà bạn muốn kiểm thử và mở tệp đó trong trình chỉnh sửa.
- Trong trình chỉnh sửa, hãy làm theo một trong những cách sau:
- Nếu bạn đang ở khung hiển thị Design (Thiết kế), hãy nhấp vào
Run Journey (Chạy hành trình). - Nếu bạn đang ở khung hiển thị Code (Mã), hãy nhấp vào
Run 'test' (Chạy "kiểm thử") trong rãnh
bên cạnh vị trí tên của hành trình được xác định trong XML.
- Nếu bạn đang ở khung hiển thị Design (Thiết kế), hãy nhấp vào
Android Studio tạo cấu hình Journeys Test (Kiểm thử hành trình) cho bạn và chạy cấu hình đó trên thiết bị mục tiêu. Trong quá trình thực thi, Android Studio sẽ tạo và triển khai ứng dụng của bạn, đồng thời kết nối với Gemini để xác định những hành động cần thực hiện cho từng bước của hành trình.
Chạy hành trình trên mọi ứng dụng được cài đặt sẵn
Bạn có thể chạy hành trình trên một ứng dụng được cài đặt sẵn trên thiết bị kiểm thử. Điều này hữu ích nếu bạn muốn kiểm thử phiên bản phát hành của ứng dụng hoặc nếu bạn chưa cập nhật ứng dụng lên Trình bổ trợ Android cho Gradle 9.0.0 trở lên.
- Mở hoặc tạo một dự án mới được cập nhật lên Trình bổ trợ Android cho Gradle 9.0.0 trở lên.
- Viết hành trình.
- Chỉnh sửa cấu hình chạy cho
hành trình và thêm các biến môi trường sau. Cấu hình chạy được
tạo tự động khi bạn cố gắng chạy hành trình từ Android Studio.
- Đặt
JOURNEYS_CUSTOM_APP_IDthành mã gói của ứng dụng mục tiêu.
- Đặt
- Chạy hành trình mà bạn đã chỉnh sửa. Android Studio sẽ thực thi các bước của hành trình trên ứng dụng mục tiêu mà bạn đã chỉ định.
Chạy hành trình từ dòng lệnh
Bạn cũng có thể chạy hành trình từ dòng lệnh dưới dạng tác vụ Gradle.
Thiết lập
Bạn cần xác thực với Google Cloud để sử dụng Hành trình từ dòng lệnh.
Lưu ý: Các bước này sử dụng Giao diện dòng lệnh (CLI) của gcloud để cung cấp thông tin đăng nhập của người dùng. Thông tin đăng nhập này có thể không sử dụng được trong một số môi trường phát triển. Để biết thêm thông tin về quy trình xác thực cần sử dụng cho nhu cầu của bạn, hãy xem Cách hoạt động của Thông tin xác thực mặc định của ứng dụng.
Để cài đặt Google Cloud CLI, hãy làm theo các bước tại Cài đặt gcloud CLI.
Bạn cũng cần đảm bảo rằng API Thông tin xác thực tài khoản dịch vụ IAM được bật cho dự án Google Cloud của bạn. Sau đó, hãy xác thực bằng một trong các phương thức sau:
Đối với thông tin xác thực của người dùng
Bạn có thể uỷ quyền theo cách thủ công bằng lệnh sau trên thiết bị đầu cuối:
gcloud auth application-default login
Đối với thông tin xác thực của tài khoản dịch vụ
Nếu bạn chưa thực hiện, hãy làm theo hướng dẫn để tạo thông tin xác thực của tài khoản dịch vụ cho dự án của bạn.
- Đảm bảo rằng người dùng quản trị và tài khoản dịch vụ của bạn đã được cấp quyền
Service Account Token Creator.
Để xác thực, hãy chạy lệnh sau:
gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL
Chạy dưới dạng tác vụ Gradle
Chạy hành trình bằng cách trực tiếp thực thi tác vụ Gradle trên dòng lệnh. Sau khi chạy tác vụ, kết quả kiểm thử sẽ xuất hiện trong nhật ký và các tệp kết quả kiểm thử HTML và XML sẽ được tạo.
Để chạy tất cả hành trình Bạn có thể chạy tất cả hành trình trong bộ kiểm thử bằng lệnh sau.
./gradlew :app:testJourneysTestDefaultDebugTestSuite
Để chạy một hành trình
Sử dụng JOURNEYS_FILTER để chỉ định tên của hành trình mà bạn muốn chạy,
như sau:
JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite
Để chạy tất cả hành trình trong một thư mục con
Đặt JOURNEYS_FILTER thành tên thư mục con. Ví dụ: lệnh sau đây chạy tất cả hành trình trong thư mục con home trong thư mục gốc của bộ kiểm thử.
JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite
Xem kết quả
Khi Android Studio hoàn tất việc kiểm thử hành trình, bảng kết quả kiểm thử sẽ tự động xuất hiện để cho bạn thấy kết quả.
So với các bài kiểm thử đo lường khác mà bạn có thể chạy trong Android Studio, có một số điểm khác biệt về cách hiển thị kết quả cho hành trình.
- Bảng điều khiển Tests (Kiểm thử) chia hành trình thành các bước rời rạc. Bạn có thể nhấp vào từng bước để tìm hiểu thêm thông tin về cách Gemini thực thi bước đó.
- Bảng điều khiển Results hiển thị thông tin phong phú giúp bạn hiểu cách Gemini
hiểu và suy luận về hành trình của bạn, cũng như cách hành trình được thực thi.
- Ảnh chụp màn hình được gửi đến Gemini sẽ hiển thị để hỗ trợ trực quan cho từng hành động trong bước.
- Mỗi hành động được thực hiện và lý do Gemini thực hiện hành động đó được mô tả bên cạnh mỗi ảnh chụp màn hình.
- Mỗi hành động trong bước được đánh số.
Vấn đề đã biết
- Khi kiểm thử hành trình, tất cả quyền cho ứng dụng của bạn đều được cấp theo mặc định.
- Khi kiểm thử hành trình trên thiết bị chạy Android 15 (API cấp 35), bạn có thể thấy cảnh báo trên thiết bị có nội dung "Unsafe App Blocked" (Ứng dụng không an toàn bị chặn) cho "AndroidX Crawler". Bạn có thể nhấp vào Install anyway (Vẫn cài đặt) để bỏ qua quy trình kiểm tra này. Ngoài ra, bạn có thể Định cấu hình các tuỳ chọn cho nhà phát triển trên thiết bị và tắt tuỳ chọn để Verify apps over USB.