Tự động hóa
Kịch bản không chạy thì làm gì
Sự cố kịch bản theo triệu chứng: Hết hạn sau 5 phút, TIMEOUT sau 30 phút, node ADB bị gói khoá, biến rỗng, lượt bị chiếm chỗ.
5 phút đọc
Phần lớn sự cố kịch bản rơi vào một danh sách ngắn, và phần lớn tự lộ mặt ở dòng máy chứ không phải trong trình soạn thảo. Hãy dò bài này theo triệu chứng.
Bắt đầu bằng chi tiết lượt chạy
Đừng đoán trước. Bấm vào huy hiệu trạng thái trên dòng máy và đọc ba thứ: mã lần chạy, lý do dừng, và — với lượt thất bại — Cây giao diện được ghi lại cho lượt đó.
Riêng thứ cuối đã trả lời gần hết câu hỏi: kịch bản đang chờ một cái nút mà lại gặp màn hình khác thì cây giao diện chỉ thẳng ra đó là màn hình nào. Xem Chạy kịch bản và theo dõi.
Các nguyên nhân hay gặp
Lượt chạy nằm ở Chờ máy nhận rồi chuyển thành Hết hạn
Kịch bản không sao — máy chưa bao giờ nhận lượt chạy. Lượt nằm chờ được cho 5 phút, quá đó là tự động bị đánh Hết hạn.
Nên Hết hạn là lời nói về cái máy, không phải về kịch bản của bạn. Kiểm theo đúng thứ tự này:
- Phiên thuê còn sống không? Phiên hết hạn là máy bị xoá, không chạy được gì trên đó nữa.
- Máy có online không? Máy offline không nhận được lượt chạy.
- Máy có đang ngủ không? Mở máy ra, chạm vào màn hình cho nó thức, rồi chạy lại kịch bản. Trong lưới Sync Control, ô đang hiện ảnh tĩnh thì chạm vào để đánh thức.
Máy online, đã thức mà vẫn không nhận lệnh thì mở trình xem thiết bị và thử điều khiển bằng tay — xem Xử lý sự cố kết nối trình xem.
Lượt chạy thất bại với lý do TIMEOUT
Lượt chạy vẫn còn chạy sau 30 phút sẽ bị cắt và đánh Thất bại, lý do ghi là TIMEOUT.
Gần như luôn luôn đó là một vòng lặp không có lối ra: một While có điều kiện không bao giờ sai, hoặc một node chờ màn hình không bao giờ hiện. Hãy cho mọi vòng lặp một cái trần — dùng Repeat N times thay cho While khi làm được, hoặc một Break / skip loop có lối thoát thật. Xem Danh mục node.
Kịch bản dài mà thật sự cần hơn 30 phút thì phải tách thành nhiều kịch bản chạy nối tiếp nhau.
Node ADB command không làm gì, hoặc kịch bản trượt đúng bước đó
Node ADB command, thuộc nhóm DEVICE, đòi gói có kèm quyền ADB. Thẻ gói ghi thẳng: "Run vetted ADB commands on the device, and the ADB node in auto-flows."
Gói của bạn không có quyền đó thì node sẽ không làm được việc của nó, viết kịch bản kiểu gì cũng vậy. Hãy xem các chip trên thẻ gói ở Chọn gói máy — cũng chính quyền đó chi phối ADB Console thủ công, nên console mà bị khoá với bạn thì node cũng bị khoá.
Kịch bản tự dừng, mà không ai bấm dừng cả
Gần như luôn luôn: có thứ khác chiếm máy. Mỗi máy chỉ chạy một kịch bản tại một thời điểm, và chạy kịch bản thứ hai là dừng ngay cái đầu — kể cả khi đó là một lô mới bắn đè lên lô cũ còn đang chạy.
Nó hiện là Đã dừng chứ không phải Thất bại, và nó không chạy tiếp. Hãy kiểm xem có lượt chạy nào khác, hoặc người mà bạn chia sẻ máy cho, vừa bấm gì không. Rồi chạy lại của bạn từ đầu.
Một biến bị trống, hoặc lượt chạy dừng vì thiếu giá trị
Biến thiếu không âm thầm biến thành chuỗi rỗng: node cần giá trị mà không có thì lượt chạy dừng lại kèm lỗi gọi tên đúng biến đó. Nên kết quả trông như rỗng thường nghĩa là giá trị tới sai, chứ không phải không có.
- Tên biến không khớp. Bộ dữ liệu chỉ đổ giá trị vào biến có tên trùng khít với tên trong kịch bản; lệch một ký tự là biến đó không được đổ giá trị.
- Giá trị đến từ nguồn khác. Hệ thống lấy giá trị theo đúng thứ tự hộp thoại liệt kê: "data set assigned to the rental session → set picked in this dialog → manual input". Phiên nào đã gán sẵn bộ dữ liệu thì bộ đó vẫn có phần, dù lúc bấm bạn không nghĩ tới nó.
- Biến danh sách hoặc JSON bị dùng trần. Phải đọc qua đường dẫn:
{{user.name}},{{list.0}}. - Phép kiểm đúng/sai không bao giờ khớp. So biến boolean với chữ
truelà không chạy — node If và While có sẵn phép kiểm is-true và is-false riêng.
Chi tiết đầy đủ ở Biến và bộ dữ liệu.
Panel AI không chịu sinh kịch bản
Nhiều khả năng bạn đã hết lượt AI. Mở AI Flow Credits, xem số Credits left, rồi xem bảng Usage history — nó ghi mọi thay đổi kèm giờ.
Nhận thêm gói có ba điều kiện: tài khoản phải từng nạp tiền ít nhất một lần, mỗi ngày một gói, và còn lượt chưa dùng thì chưa nhận thêm được. Nếu không có gói nào được liệt kê, đó không phải lỗi ở phía bạn. Xem Sinh kịch bản bằng AI.
Hôm qua chạy tốt, hôm nay trượt
Kịch bản không đổi, vậy thứ đổi nằm ở phía trước nó. Nghi can quen mặt: app vừa cập nhật đổi giao diện, một hộp thoại lạ chen vào (hỏi đồng ý, kiểm tra đăng nhập), hoặc đơn giản là hôm nay máy chậm hơn nên một bước chạy trước khi màn hình kịp sẵn sàng.
Với ca lệch nhịp, thay node Wait cố định bằng Wait for element. Với ca màn hình lạ, Cây giao diện trong lượt thất bại cho thấy thứ đã thật sự hiện ra, và bạn thêm một nhánh xử lý nó.
Khi nào thì nhờ hỗ trợ
Chi tiết lượt chạy không giải thích được thì gửi cho hỗ trợ mã lần chạy, thời điểm, và máy nào. Dùng Liên hệ hỗ trợ, hoặc báo lỗi thiết bị nếu bản thân cái máy có vấn đề chứ không phải kịch bản.
Tóm tắt
- Mở chi tiết lượt chạy trước tiên — mã lần chạy, lý do dừng, và Cây giao diện cho lượt thất bại.
- Hết hạn sau 5 phút nghĩa là máy chưa bao giờ nhận lượt chạy; Thất bại / TIMEOUT sau 30 phút nghĩa là vòng lặp không có lối ra.
- Node ADB command đòi gói có kèm ADB; panel AI đòi còn lượt, mỗi ngày một gói.
- Kịch bản tự dừng thì gần như chắc chắn bị lượt chạy khác chiếm chỗ — mỗi máy một kịch bản, và lượt đã dừng không bao giờ chạy tiếp.