Tôi đã sử dụng Appium để thử nghiệm một ứng dụng Android lai bao gồm chuyển đổi thường xuyên giữa bối cảnh NATIVE và WEBVIEW. Các Webviews này được phát triển bằng cách sử dụng thư viện React.Truy cập các yếu tố phản ứng bằng cách sử dụng Appium để tự động hóa
Để hiểu biết của tôi và chính xác cho tôi nếu tôi sai, How React Works là nó tạo ra một DOM ảo bằng cách sử dụng DOM thực và tạo ra một tên lớp động tương ứng với những người trong javascript. Diff Algorithm cung cấp cách hiệu quả để phân biệt các đối tượng bằng cách sử dụng các tên lớp được tạo tự động đó.
Vấn đề tôi đang phải đối mặt là sử dụng Appium Tôi không thể truy cập vào các yếu tố từ những webview sử dụng bất kỳ phương pháp findElementsBy
. Tên lớp là tham số duy nhất hiển thị cho UIAutomator mà chúng ta thực sự có thể dựa vào được thay đổi bởi React trên mỗi bản dựng mới được tạo ra.
- Có cách nào để tôi có thể cấu trúc lại các tên lớp tự động tạo ra một số cái tên hợp lý bằng cách sử dụng thư viện riêng của mình Phản ứng?
Các chrome inspect cung cấp các chi tiết của webview trong ứng dụng của tôi như:
<div class="_32f8NoUfyUtNSxo3w4Ptbp" data-reactid=".0.1.$=13:0.0.0">…</div>
- Bất kỳ ý tưởng về làm thế nào để truy cập vào các phần tử DOM thực tế sử dụng Appium cho trường hợp này?
Thông tin: WebView.setWebContentsDebuggingEnabled(true)
được thiết lập trong các mã ứng dụng.
Sẽ đánh giá cao mọi khách hàng tiềm năng tại đây.
Bạn đang sử dụng trình tải gói webpack cho các kiểu hay cách bạn soạn/biên dịch chúng? –
@DanielSchmidt: Tôi không có nhiều bối cảnh về kết thúc biên dịch của các chế độ xem. Sẽ sớm cung cấp chi tiết. – nullpointer