Tôi đang tạo một bộ các bài kiểm tra Selenium cho một ứng dụng album web. Tôi muốn kiểm tra xem một hình ảnh có thực sự được hiển thị hay không (nó chứa dữ liệu hình ảnh hợp lệ). Điều đó có thể xảy ra không?Selenium - kiểm tra xem hình ảnh có được hiển thị trên trang
Trả lời
Tôi phải đối mặt với tình huống tương tự này trước khi src của hình ảnh như mong đợi nhưng hình ảnh không được hiển thị trên trang.
Bạn có thể kiểm tra xem hình ảnh có được hiển thị hay không bằng cách sử dụng Trình kiểm tra JavaScript.
Sử dụng đoạn mã sau - Vượt qua WebElement (hình ảnh) -
Object result = ((JavascriptExecutor) driver).executeScript(
"return arguments[0].complete && "+
"typeof arguments[0].naturalWidth != \"undefined\" && "+
"arguments[0].naturalWidth > 0", image);
boolean loaded = false;
if (result instanceof Boolean) {
loaded = (Boolean) result;
System.out.println(loaded);
}
Bạn có thể kiểm tra xem các hình ảnh đã thực sự nạp trên trang web bằng cách làm này.
Bạn chắc chắn có thể kiểm tra xem hình ảnh có xuất hiện trong nguồn trang hay không, ví dụ: bằng cách sử dụng tham số XPath.
Bạn có thể giả định rằng vì nó nằm trong nguồn trang, nó sẽ được hiển thị nhưng tôi không biết cách nào để thực sự xác thực điều này.
Có tình huống, khi trang thư viện được tạo không sao, nhưng bản thân hình ảnh không hợp lệ - ví dụ do ngoại lệ trong tập lệnh hình ảnh. –
Nếu bạn sẵn sàng sử dụng giao diện TestPlan cho Selenium, có một vài tùy chọn. Khi bạn có URL của hình ảnh, bạn có thể lấy URL này và kiểm tra các tiêu đề được trả lại. bạn cũng có thể lưu dữ liệu vào một tệp nếu bạn muốn kiểm tra thủ công nó. Hoặc bạn có thể viết trình xác nhận hợp lệ trong Java để lấy dữ liệu đó và kiểm tra xem liệu nó có thực sự giải mã hay không.
Nếu bạn sẵn sàng dùng thử, tôi sẽ viết cho bạn một kịch bản mẫu. Tôi thậm chí có thể làm một chức năng xác nhận hình ảnh nhanh chóng nếu bạn muốn.
Phần mềm này có vẻ thú vị, nhưng tôi bị ràng buộc sử dụng Bromine fron-end. Công ty chúng tôi đã dành một số giờ làm việc tùy biến nó và bán phá giá công việc đó chỉ vì việc thử nghiệm hình ảnh là không khả thi. Cảm ơn các mẹo mặc dù. –
Nếu bạn đang sử dụng Java, selen có phương thức có tên là eval
hoặc hơn. Bạn cho nó một chuỗi javascript và nó cho bạn kết quả như một chuỗi. Ví dụ: bạn có thể thử điều này (trong một dòng):
var req = new XMLHttpRequest();
req.open('get', document.getElementById('imageid').src, false);
req.send(null);
req.status==200
Điều này sẽ trả về "true" cho trạng thái 200 hoặc "false" cho một mục khác.
Phải làm gì nếu hình ảnh không có ID? Hình ảnh có tên và lớp học - Phải làm gì trong trường hợp đó? –
- 1. kiểm tra xem hình ảnh có tồn tại không php
- 2. JQuery Kiểm tra để xem nếu Div được hiển thị
- 3. OpenCart hiển thị hình ảnh danh mục trên trang chủ?
- 4. Cách kiểm tra hình ảnh nào đang được hiển thị bằng rspec?
- 5. Kiểm tra xem phần tử có hiển thị trong div
- 6. Hiển thị hình ảnh ở giữa trang
- 7. Cách kiểm tra xem tệp có phải là hình ảnh
- 8. jQuery: Kiểm tra xem hình ảnh có tồn tại
- 9. Hiển thị byte dưới dạng hình ảnh trên trang .aspx
- 10. Kiểm tra xem hình ảnh có trống trong C#
- 11. Làm thế nào để kiểm tra xem một hình ảnh đã được tìm thấy trên một trang web?
- 12. Kiểm tra xem tất cả hình ảnh được nạp
- 13. Android SDK: Xem hình ảnh máy ảnh xem trước thô mà không hiển thị hình ảnh
- 14. Cách kiểm tra xem WebView có được hiển thị đầy đủ và sẵn sàng không?
- 15. Cách kiểm tra xem API hình ảnh của Chế độ xem phố của Google có trả về hình ảnh không?
- 16. Cách kiểm tra xem Liên hệ có hình ảnh không?
- 17. UIImage, kiểm tra xem có chứa hình ảnh
- 18. Tại sao hình ảnh của tôi không hiển thị trên trang github của tôi?
- 19. Kiểm tra xem hình ảnh có phải là JPEG
- 20. PHP kiểm tra xem tệp có phải là hình ảnh
- 21. Kiểm tra xem cookie có được đặt
- 22. Để kiểm tra xem hai tệp hình ảnh có giống nhau không. Kiểm tra hoặc băm?
- 23. Hiển thị tất cả các tên kiểm tra trên Bamboo
- 24. Hình ảnh hiển thị không có gtk
- 25. Lập trình kiểm tra xem lịch có được hiển thị hay không
- 26. Làm cách nào để kiểm tra xem Backbone.View có được hiển thị trong DOM không?
- 27. Kiểm tra xem Hình ảnh có trong Bộ nhớ cache - Trình tải hình ảnh phổ dụng
- 28. hình ảnh được hiển thị trên các mô phỏng nhưng không phải trên một iPhone thực
- 29. Tên hiển thị trên mô hình không được hiển thị?
- 30. Hiển thị hình ảnh được tạo động trong Yesod
Cảm ơn bạn, tôi đã không mong đợi bất cứ ai sẽ đăng giải pháp làm việc sau nhiều tháng này. Tôi đã kết thúc bằng cách sử dụng mã này để kiểm tra xem tất cả các hình ảnh có xuất hiện trên trang không: 'var elems = document.getElementsByTagName (" img "); var allOk = true; cho (var i = 0; i 0; log (elems [i] .naturalWidth);} allOk; '. –
Chào mừng bạn. Vui vì nó đã giải quyết được vấn đề của bạn. –
Công việc tuyệt vời! Một lưu ý: các nhà phát triển của chúng tôi có hình ảnh trình giữ chỗ là 400px và họ trao đổi hình ảnh đó với hình ảnh được tải xuống khi bạn cuộn đến hình ảnh đó. Vì vậy, thử nghiệm cuối cùng, đối với tôi, là 'đối số [0] .naturalWidth! = 400'. Kiểm tra với các nhà phát triển của bạn để được trợ giúp. – SiKing