loading

Probar las intenciones de la cámara y la galería con Espresso

Cuando tiene pantallas dentro de su aplicación de Android que tienen funciones de cámara y/o galería con algunos cambios de pantalla (vistas, etiquetas o botones que aparecen/desaparecen, etc.) y necesita escribir algunas pruebas de Espresso para esas funciones/pantallas, hay un par de ayudantes que he estado usando y quiero compartir con todos ustedes. Otorgamiento de permisos Cuando usa la cámara dentro de su aplicación, debe otorgar algunos permisos en el dispositivo para leer/almacenar una foto. Estos permisos se solicitan en tiempo de ejecución y generalmente están relacionados con READ_EXTERNAL_STORAGE y WRITE_EXTERNAL_STORAGE.

Probar las intenciones de la cámara y la galería con Espresso 1

Por lo tanto, GrantPermissionRule permite otorgar permisos de tiempo de ejecución en Android M (API 23) y superior y, cuando se aplica a una clase de prueba, esta regla intenta otorgar todos los permisos de tiempo de ejecución solicitados.@get:Rulevar mRuntimePermissionRule = GrantPermissionRule.grant(android.

Manifest.permission.WRITE_EXTERNAL_STORAGE) Esta regla generalmente se usa para otorgar permisos de tiempo de ejecución para evitar que el cuadro de diálogo de permisos aparezca y bloquee la interfaz de usuario de las aplicaciones y, según la documentación oficial: según esta regla, otorgará automáticamente READ_EXTERNAL_STORAGE cuando se solicite WRITE_EXTERNAL_STORAGE. Prueba de galería El código para prueba cuando se hace clic en un ícono de la galería en la aplicación, luego se selecciona una imagen y se muestra en la pantalla: Lo primero aquí es que tengo un método de ayuda (CameraAndGallery.

savePickedImage) que primero guarda una imagen (para abreviar el ícono ic_launcher) que se usará en la prueba como un archivo local visible para la prueba: El parámetro de actividad proviene de ActivityTestRule:@get:Rulevar mActivityTestRule = IntentsTestRule(MyActivity: :class.java) Luego creo un objeto ActivityResult (como un simulacro pero para Android Intent) que será utilizado por el comparador de Intents de Espresso (para hacer coincidir y validar los intents salientes):val imgGalleryResult = CameraAndGallery.createImageGallerySetResultStub(mActivityTestRule.

actividad) con la intención (hasAction (Intent.ACTION_CHOOSER)).respondWith (imgGalleryResult) El secreto aquí es solicitar el archivo previamente guardado y finalmente utilizado como resultado.

Probar las intenciones de la cámara y la galería con Espresso 2

Nota: Para trabajar con intentos de espresso, debemos agregar esta dependencia a la compilación de aplicaciones. archivo gradle: androidTestImplementation androidx.test.

espresso:espresso-intents:$espressoVersionPara la prueba que estamos escribiendo, supongamos que la imagen seleccionada de la Galería, la estamos configurando en un ImageView que es visible para el usuario, luego la parte final de la prueba es verificar que la se muestra la imagen (método hasImageSet()):onView(withId(R.id.auctionphotos_bigimage_viewer)).

check(matches(hasImageSet()))Camera TestSimilar a Gallery Test, la prueba para obtener una imagen del dispositivo Camera sigue casi los mismos pasos, pero en este caso no es necesario guardar una imagen antes, solo simula el resultado de la cámara: El resultado de la captura simulada de la siguiente manera: La imagen resultante será tomada por la intención: con la intención (hasAction (MediaStore. ACTION_IMAGE_CAPTURE)). respondWith(imgCaptureResult)Y con eso podemos verificar si la imagen fue tomada y mostrada:onView(withId(R.

id.auctionphotos_bigimage_viewer)).check(matches(hasImageSet()))Finalmente, si desea explorar un poco más de contenido relacionado con las pruebas y las intenciones de Espresso, es posible que desee echar un vistazo a este repositorio del equipo oficial de Android

Póngase en contacto con nosotros
Artículos recomendados
Fundas
Introducción al sistema de estacionamiento inteligente El sistema de estacionamiento inteligente es un dispositivo eléctrico que proporciona información legible por humanos para ayudar a las personas a navegar su camino ar
Gestión de estacionamientosLa definición de gestión de estacionamientos es la práctica de administrar los estacionamientos y sus áreas para lograr el propósito de proveer para el s
¿Cómo usar el sistema de estacionamiento de automóviles anpr? El sistema de estacionamiento se ha convertido en una forma popular de mantener su negocio funcionando sin problemas. Lo bueno del sistema de estacionamiento es que puede
¿Por qué soluciones de estacionamiento anpr? Cuando estaciona su automóvil en soluciones de estacionamiento anpr, generalmente está aprovechando las muchas ventajas de las soluciones de estacionamiento anpr. Es
¿Qué son los sistemas de estacionamiento anpr? Los sistemas de estacionamiento anpr están diseñados para facilitar que las personas estacionen sus automóviles en la ciudad. El sistema utiliza sensores para medir el di
¿Qué es el estacionamiento del apilador de autos? Estoy atascado en el tráfico. Tengo que aparcar mi coche aquí y allá. Hay tantos lugares para estacionar mi auto. ¿A qué te dedicas? ¿Acabas de aparcar?
Cómo funciona el sistema de gestión de estacionamiento automatizado Hay tantas cosas que puede hacer para mejorar la calidad de su vida. Y cuando hayas hecho todo lo que tu
Introducción a la máquina expendedora de billetes de aparcamientoEs difícil dar una descripción clara de la misma. Mucha gente usa el mismo formato, lo que lo hace más fácil de entender.
¿Qué es el estacionamiento del apilador de automóviles? Tengo que usar mi teléfono inteligente cuando uso Internet. Cuando uso Internet, es fácil distraerme con las cosas que suceden a mi alrededor.
La introducción del sistema de gestión de estacionamiento inteligenteEl sistema de gestión de estacionamiento inteligente es una forma inteligente de reducir sus facturas de energía y ayudarlo a mantener su automóvil en funcionamiento.
sin datos
Shenzhen Tiger Wong Technology Co., Ltd es el proveedor líder de soluciones de control de acceso para sistemas de estacionamiento inteligente de vehículos, sistemas de reconocimiento de matrículas, torniquetes de control de acceso de peatones, terminales de reconocimiento facial y Soluciones de estacionamiento LPR .
sin datos
CONTACT US

Shenzhen TigerWong Technology Co.... Ltd

Tel:86 13717037584

Correo electrónico: info@sztigerwong.com

Dirección: 1.er piso, edificio A2, parque industrial digital Silicon Valley Power, no. 22 Dafu Road, calle Guanlan, distrito de Longhua,

Shenzhen, provincia de GuangDong, China  

                    

Copyright©2021 Shenzhen TigerWong Technology Co.... Ltd  | Mapa del sitio
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
cancelar
Customer service
detect