Estoy creando un conjunto de pruebas de Selenium para una aplicación de álbum web. Me gustaría probar si realmente se muestra una imagen (contiene datos de imagen válidos). ¿Es eso posible?Selenio: compruebe si se muestra una imagen en la página
Respuesta
Me enfrenté a esta situación similar antes donde el src de la imagen es el esperado pero la imagen no se muestra en la página.
Puede verificar si la imagen se muestra o no con el JavaScriptExcecutor.
utilizar el siguiente código - Pasar el WebElement (imagen) -
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);
}
Puede comprobar si la imagen en realidad se ha cargado en la página web al hacer esto.
Sin duda, puede verificar que la imagen aparezca en el origen de la página, p. usando un parámetro XPath.
Puede suponer que, como está en el origen de la página, se mostrará pero no conozco ninguna forma de validarlo.
Hay una situación, cuando la página de la galería se genera correctamente, pero la imagen en sí no es válida, por ejemplo, debido a una excepción en el script de la imagen. –
Si está dispuesto a utilizar la interfaz TestPlan de Selenium, tiene algunas opciones. Una vez que tenga la URL de la imagen, puede tomar esta URL e inspeccionar los encabezados devueltos. también puede guardar los datos en un archivo si desea inspeccionarlo manualmente. O puede escribir un validador en Java para tomar esos datos y verificar si realmente se decodifica.
Si está dispuesto a probarlo, le escribiré un script de muestra. Incluso puedo hacer una función de validación rápida de imágenes si lo desea.
Este software parece interesante, pero estoy obligado a usar Bromine fron-end. Nuestra empresa ya ha dedicado algunas horas-hombre para personalizarlo y dejar ese trabajo solo porque las pruebas de imagen no son viables. Gracias por el consejo. –
Si está utilizando Java, el selenio tiene un método llamado eval
más o menos. Le da una cadena de JavaScript y le da el resultado como una cadena. Por ejemplo, usted podría intentar esto (en una línea):
var req = new XMLHttpRequest();
req.open('get', document.getElementById('imageid').src, false);
req.send(null);
req.status==200
Esto debería devolver "verdad" para el estado 200 o "falso" para otra cosa.
¿Qué hacer si la imagen no tiene identificación? La imagen tiene nombre y clase: ¿qué hacer en ese caso? –
- 1. Magento - compruebe si en la página cms
- 2. Vb.Net Compruebe si la imagen existente en otra imagen
- 3. jQuery: compruebe si existe imagen
- 4. iPhone SDK: compruebe si se muestra un UIAlertView
- 5. Django: compruebe si existe una imagen en alguna url particular
- 6. Compruebe si existe script Javascript en la página
- 7. Rieles Compruebe si la consola IRB o la página web
- 8. guardar una imagen con selenio y firefox
- 9. ASP.net compruebe si la página es http o https
- 10. Compruebe si la salida se redirige
- 11. compruebe si se completa la descarga
- 12. Compruebe si se puede eliminar una fila en MySQL
- 13. ASP.NET - La imagen no se muestra
- 14. Averigüe si Android WebView muestra la página en caché
- 15. La página no se muestra correctamente hasta que se actualice
- 16. Si esta página muestra esta otra muestra esta
- 17. Cómo desplazar la página con selenio
- 18. Detectar si se muestra una alerta o confirmación en una página
- 19. Compruebe si una función tiene un decorador
- 20. cheque Jquery si la imagen se carga
- 21. ¿Cómo se muestra la imagen de carga cuando se está cargando una imagen grande?
- 22. Compruebe si la propiedad se ha configurado en phing
- 23. Delphi: compruebe si la memoria se está liberando "a tiempo"
- 24. Compruebe si el polígono se autointercala
- 25. Compruebe el ancho y la altura de una imagen
- 26. Compruebe si una cadena contiene una subcadena
- 27. ¿Cómo verificar si algún texto está presente en una página web usando selenio 2?
- 28. Compruebe si se escanea un archivo PDF
- 29. Muestra la imagen que se carga mientras se realiza $ .ajax
- 30. Argparse: compruebe si se han pasado argumentos
Gracias, no esperaba que nadie publicara una solución de trabajo después de tantos meses. Terminé usando este código para verificar que todas las imágenes estén presentes en la página: 'var elems = document.getElementsByTagName (" img "); var allOk = verdadero; for (var i = 0; i 0; console. log (elems [i] .naturalWidth);} allOk; '. –
Su bienvenida. Me alegro de que resolvió tu problema. –
¡Buen trabajo! Una nota: nuestros desarrolladores tienen una imagen de marcador de posición que es 400px, y la cambian con la imagen cargada de pereza cuando se desplaza hacia ella. Entonces, la última prueba, para mí, es 'arguments [0] .naturalWidth! = 400'. Consulte con sus desarrolladores para obtener ayuda. – SiKing