Bỏ qua, đến nội dung

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: CART

Tham số ​

Tham sốKiểuMô tả
fileStringBắ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.
envMapCác giá trị mà script đọc từ window.__env.
outputStringTê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 return một giá trị thì output mớ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;