runWebViewScript
Chạy một file JavaScript trong WebView đang hiện.
Hỗ trợ một phần trong Astra Scout
Chỉ Android. Step này không có trên iOS.
Command runWebViewScript chạy một file JavaScript bên trong WebView đang hiện, và có thể giữ kết quả trong một biến. Dùng evalWebViewScript để chạy đoạn mã trực tiếp. Nó kết nối tới WebView bằng giao thức Chrome DevTools, nên WebView phải đang hiển thị.
Cú pháp
yaml
- runWebViewScript: scripts/read-cart.js
# hoặc
- runWebViewScript:
file: scripts/read-cart.js
env:
ITEM: shoes
output: CARTTham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
file | String | Bắt buộc. Đường dẫn tới file JavaScript. File là thân của một hàm async, nên dùng được await và return. |
env | Map | Các giá trị mà script đọc từ window.__env. |
output | String | Tên biến nhận giá trị trả về dưới dạng văn bản. Các step sau đọc bằng ${NAME}. |
Hành vi
- Script phải
returnmột giá trị thìoutputmới có dữ liệu. Chỉ kết quả dạng chuỗi được lưu. - Script bị dừng sau 10 giây.
- Step fail với "No WebView CDP connection" nếu không có WebView nào có thể kiểm tra đang hiển thị.
Ví dụ sử dụng
yaml
- runWebViewScript:
file: scripts/read-heading.js
output: HEADING
- assertTrue: ${HEADING == "Welcome"}Với scripts/read-heading.js:
js
return document.querySelector('h1').innerText;