El cuadro de diálogo del sistema de pruebas de Calabash muestra e interactúa con él

Mi proyecto de aplicación para Android inicia programaticamente el diálogo del sistema para instalar el certificado de CA de confianza:

Intent intent = KeyChain.createInstallIntent(); intent.putExtra(KeyChain.EXTRA_PKCS12, certificate); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

Este código muestra el cuadro de diálogo del sistema como se muestra a continuación: Introduzca aquí la descripción de la imagen

Lo anterior es sobre mi proyecto de aplicación para Android. Ahora, sobre la prueba:

Estoy usando Calabash para escribir pruebas de aceptación automatizadas para mi proyecto.

Sé que Calabash proporciona definiciones de pasos predefinidas . Sin embargo, estos pasos proporcionan palabras clave para interactuar con los componentes de interfaz de usuario de la aplicación (por ejemplo, texto de entrada, pulse el botón). No puedo encontrar cómo usar esos pasos predefinidos para probar si el diálogo del sistema está mostrando.

Mis preguntas:

Q1. ¿Cómo usar las definiciones de pasos predefinidos de Calabash para comprobar el diálogo del sistema? ¿Cómo introducir texto en el diálogo?

Q2. Si la respuesta a Q1 es "es imposible", entonces, ¿cómo puedo usar Calabash para probarlo? Parece que necesito escribir mi propia función Ruby para probarlo? Si es así, ¿cómo escribir la función Ruby para probar este diálogo del sistema se muestra y cómo interactuar con el diálogo del sistema en la prueba con Calabash?

Tendrás que escribir tu código para eso. Suponiendo que este es un cuadro de diálogo de alerta predeterminado:

Esto confirmará si una vista del tipo AlertDialog es visible.

 def check_if_dialog_open check_element_exists('*AlertDialog') end 

Esto ingresará algún texto al primer Texto de Edición si encuentra y oculta el teclado después.

 def input_into_dialog(some_text) enter_text("android.widget.EditText *", some_text) hide_soft_keyboard end 

Usted podría entonces escribir su propio paso para eso:

 Then(/^I check if my dialog is open and input some text$/) do check_if_dialog_open input_into_dialog('my text') sleep(STEP_PAUSE) end 

Para ingresar en ese cuadro de diálogo puede consultar un EditarTexto visible.

Es sólo una cuestión de refinar sus consultas. Puede confirmar si se trata de un AlertDialog predeterminado de Android con la consola de calabash.

Obtenga más información acerca de la sintaxis de la consola y de la consulta aquí y compruebe más acerca de la API de Ruby.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.