es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El driver de integración en integration_test_driver.dart tiene documentación para un parámetro llamado onScreenshot, pero no tiene la implementación actual.

flutter/packages/integrationtest/lib/integrationtest_driver.dart

/// onScreenshot se puede usar para procesar las capturas de pantalla tomadas durante la prueba. /// Un ejemplo podría ser que este callback compare la matriz de bytes con una imagen base, /// y devuelve true si ambas imágenes son iguales. /// /// Como resultado, devolver false desde onScreenshot hará que la prueba falle.

Pero en flutter/packages/integrationtest/lib/integrationtestdriverextended.dart tiene el callback onScreenshot() pero no tiene el parámetro responseDataCallback(): aunque en ambos casos devuelve null después de la ejecución de todas las pruebas.
¿Cómo capturar capturas de pantalla usando el paquete flutter/packages/integration_test/lib/integration_test_driver.dart si este no contiene el callback onScreenshot()?

https://github.com/flutter/flutter/issues/94881

Doctor de Flutter:
“`Doctor de Flutter:
`C:\Users\Ext07696\FlutterProjects\signify-bics-frontend>flutter doctor
Resumen del doctor (para ver todos los detalles, ejecuta flutter doctor -v):
[√] Flutter (Canal estable, 2.5.3, en Microsoft Windows [Versión 10.0.19042.867], locale en-US)
[√] Herramientas de desarrollo de Android – Versión 31.0.0 (versión 31.0.0-rc2)
[√] Chrome – Navegador web
[√] Android Studio (versión 2020.3)
[√] VS Code (versión 1.62.2)
[√] Dispositivo conectado (2 disponibles)

• ¡No se encontraron problemas!“

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El paquete flutter/packages/integration_test/lib/integration_test_driver.dart sí tiene un callback llamado onScreenshot() que se puede utilizar para procesar las capturas de pantalla tomadas durante las pruebas. Si el paquete que estás utilizando no contiene este callback, puede haber un problema con el paquete.

    Es posible capturar capturas de pantalla manualmente utilizando la API del controlador de Flutter. Puedes utilizar el método takeScreenshot() para capturar una captura de pantalla y luego guardarla en un archivo.

    Código de ejemplo:

    var file = await driver.takeScreenshot();
    await file.writeAsBytes(pngBytes);
    

    Este código captura una captura de pantalla y la guarda en un archivo llamado file. Luego, el archivo se escribe en el disco utilizando el método writeAsBytes().

Comments are closed.