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:
- No se puede ejecutar la aplicación de Rhodes de ejemplo
- Mensaje de varias plataformas a través de AWS SNS con aws-ruby-sdk
- Error al crear la extensión nativa de Gem al instalar Calabash Android en Ubuntu
- ActionController InvalidAuthenticityToken en Api :: V1 :: UsersController # create
- ¿Cómo puedo verificar la facturación de Android en la aplicación con un servidor con Ruby?
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?
- Instalar Calabash-Android causa error en OS X Mavericks
- Cifrar datos en Android con un archivo RSA public.pem generado en Ruby
- Iniciar el entorno de desarrollo de rails en android
- ¿Qué solución basada en plataformas móviles basada en Ruby utilizar?
- Obtener "La aplicación no se inició (RuntimeError)" al intentar ejecutar pruebas calabash-android en el dispositivo
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.