Ejemplos de Robotium
He encontrado una herramienta para instrumentación de pruebas llamada Robotium.It es fácil y simple para la caja negra de pruebas de aplicaciones Android. Podemos utilizarlo como sigue:
solo.clickOnText("Other"); solo.clickOnButton("Edit"); assertTrue(solo.searchText("Edit Window")); solo.enterText(1, "Some text for testing purposes") solo.clickOnButton("Save"); assertTrue(solo.searchText("Changes have been made successfully")); solo.clickOnButton("Ok"); assertTrue(solo.searchText("Some text for testing purposes"));
¿Puede cualquier cuerpo tener más idea al respecto? ¿Puede alguien por favor decir cómo podemos utilizarlo para las vistas web y listviews, etc
- ¿Conoces alguna herramienta de instrumentación dinámica para Android con soporte para múltiples dispositivos (idealmente en Python o Jython)?
- ¿Cómo puedo realizar mis pruebas independientes de Robotium UI en paralelo?
- Android Espresso prueba el flujo de aplicaciones
- Robotium. WaitForActivity () devuelve false para la actividad incrustada en TabHostActivity
- Android Robotium - ¿Cómo administrar el orden de ejecución de los testcases?
- Utilice tanto InstrumentationTestRunner como AndroidJUnitRunner con Robotium y Espresso
- ChooserActivity no se encuentra con las pruebas Robotium mientras ChooserActivity se muestra en Nexus 5
- Prueba de interfaz de usuario de Robotium para la aplicación con el cajón de navegación
- ¿Dónde puedo obtener una lista de todos los comandos Robotium?
- Cómo probar el evento swipe / fling usando jUnit en Android testcase
- ¿Cómo ejecutar pruebas de unidad con todos los permisos de Android M concedidos?
- Cómo probar automáticamente onResume el comportamiento llamando onDestroy usando Robotium?
- Android Robotium NoClassDefFoundError
Consulte la página wiki de QA para preguntas y respuestas comunes sobre lo que soporta Robotium: http://code.google.com/p/robotium/wiki/QuestionsAndAnswers
También vaya a la página de introducción: http://code.google.com/p/robotium/wiki/Getting_Started
Allí encontrarás un ejemplo de proyecto de prueba que descargas y buscas ideas. También puede descargar el javadoc desde: http://code.google.com/p/robotium/downloads/list para ver qué funcionalidad hay en este momento.
Para obtener tutoriales, visite: http://code.google.com/p/robotium/wiki/RobotiumTutorials
Sinceramente, Renas
Puedo decir, lo que no eres capaz de hacer con Robotium 🙂
-
Robotium es capaz de trabajar sólo con la misma aplicación de certificado, de lo contrario obtendrá la excepción de inyectar eventos (por ejemplo, no son capaces de hacer clics en el teclado de la pantalla)
-
Robotium no tiene ningún mecanismo para manejar alertas esperadas / inesperadas / popus / dialogues. Por ejemplo iOs javascript pruebas tiene bandera booleana muy simple y devolución de llamada para el manejo de alertas
-
Robotium tiene un gran problema con los métodos de desplazamiento automático (por ejemplo, si está buscando el texto, que no se muestra, Robotium se acumulará al final de la vista de desplazamiento y hará que assertTrue (false) detenga el desplazamiento
-
Robotium tiene una lógica assertTrue (falsa) para reportar problemas / situaciones inesperadas en lugar de devolver algún valor Enum o booleano (éxito / fallo) para que una buena prueba de estrés que se ejecuta 24/7 necesita agregar sus propios métodos que no detendrán la prueba , Sólo manejar 'método no hacer clic en xy' valor de resultado
-
Tendrá que implementar algo de lógica para hacer clic en elementos en la vista de desplazamiento / lista. Debido a que Robotium hace clic en el centro de la vista, siempre obtendrá excepción o assertTrue (false) cuando intente hacer clic en ver con sólo la parte del 20% mostrada
En general Robotium es muy guay y servicial y me gusta mucho 🙂 Y no me puedo imaginar la vida sin esta gran biblioteca!
El método searchText también busca ListViews. Puede utilizarlo junto con aserciones para asegurarse de que sus ListViews contienen el contenido correcto
Para hacer clic en Lista. Si su actividad es tipo ListActivity puede utilizar clickInList con un parámetro que es el índice de la línea a la que debe hacer clic. En otros casos, utilice clickInList con dos parámetros: índice de pantalla de lista y número de línea. Para WebView si carga una página debe utilizar waitForText () mathod para comprobar el contenido.
Más ejemplos: http://bitbar.com/blog/54/automated-ui-testing-android-applications-robotium
- Puntos de vista
Para listViews puedes usar el siguiente método solo.getCurrentListViews()
que devuelve un número de vistas de lista en la pantalla actual, y luego iterar a través de u obtener otros tipos de objetos ( widgets Android ) de ellos, por ejemplo, debes hacer clic en vistas de imagen de todas las listas En la pantalla que no te redirecciona a otra actividad y solo cambia el estado de otros objetos:
ArrayList<ListView> lw = solo.getCurrentListViews(); // get all list views // logging to logcat Log.i("stats", "number of list views on the current screen: " + aLw.size()); if (aLw.size() != 0) for (ListView l: aLw) { // Take all image views from list and click each ArrayList <ImageView> aIw = solo.getCurrentImageViews(l); Log.i("stats", "list view " + l + " contains " + iw.size() + " image views."); if (aIw.size() != 0) for (int i = 0; i < aIw.size(); ) { // clicking solo.clickOnView(aIw.get(i)); Log.i("click", "image view " + i " clicked."); } }
Puede escribir texto para editarText vista o obtener texto de textViews. Puede combinar Robotium con Java y la API de Android. Por ejemplo, compruebe la visibilidad de las imágenes en la pantalla utilizando el método getVisibility () y comparándolo con tres estados principales View.GONE , View.VISIBLE , View.INVISIBLE . O puede comprobar la conexión mediante el método Java HttpURLrequest antes de la ejecución de sus pruebas.
- Otro
¡Si usted tiene fuente usted puede tomar objetos de cualquier disposición que sabe su identificación! También existen muchas cosas impresionantes como solo.waitForActivity()
, solo.assertMemoryNotLow()
, solo.takeScreenShot()
.
Más ejemplos sobre el uso de Robotium puede encontrar aquí uniéndose a la comunidad de Robotium .
- Error: No se encontraron toolchains en la carpeta de cadenas de herramientas NDK para ABI con prefijo: llvm
- Android Facebook SDK 4.X, cómo obtener la dirección de correo electrónico y la clave de acceso de Facebook para pasarla al servicio Web