Este documento describe los pasos para configurar un proyecto para realizar pruebas automatizadas con Behavior Driven Development (BDD) y Calabash en Android e iOS. Explica la estructura de directorios del proyecto, la instalación de dependencias, la compilación de la aplicación, y los comandos para ejecutar las pruebas en cada plataforma.
BDD - Configuración de un proyecto móvil (iOS - Android)
1. BDD y Test automatizados
1
Universidad Pontificia de Salamanca
Máster Universitario en Informática Móvil
Sofía Swidarowicz Andrade
17 de Abril de 2015
Configuración de nuestro proyecto
7. Configuración del proyecto
7
Si el proyecto YA EXISTE; y si contiene un
GEMFILE: Instalar las dependencias
$:bundle install (instala todas las dependencias del
gemfile del proyecto)
$:gem install bundle
Las dependencias se encuentran en el gemfile,
adjuntado al proyecto
8. 8
$:calabash-android run build-calabash/<Nombre del
apk> features/1_login.feature --tag @HappyLogin -p
android
Comando para ejecutar un test Android
Configuración del proyecto
$:APP_BUNDLE_PATH=binary/ios/build/LoginApp-cal.app
cucumber features/1_login.feature --tag @LoginApp -
p ios
Comando para ejecutar un test iOS
9. Configuración del proyecto
9
Query sobre elementos UI
$:query(“*”)
$:query(“*”,:setText=>’Hola’)
$:touch(“class id:’myid’”)
$:query(“class id:’myid’”).count
17. Configuración del proyecto iOS
17
5.- Movemos el .app a un fichero conocido y accesible
$: DEVELOPER_DIR=/Applications/Xcode-6-1-1/Xcode.app/
Contents/Developer/ xcodebuild -sdk iphonesimulator -
scheme "LoginApp-cal" -target "LoginApp-cal"
ONLY_ACTIVE_ARCH=NO CONFIGURATION_BUILD_DIR="calabash-
build" clean build
18. Configuración del proyecto iOS
18
6.- Ejecutamos la consola de calabash
$: APP_BUNDLE_PATH="calabash-build/LoginApp-cal.app"
calabash-ios console
$: start_test_server_in_background
7.- Si se abre el simulador, has logrado configurar
exitosamente calabash-ios en tu app
19. 19
8.- Prueba a lanzar un: query(“*”)
Configuración del proyecto iOS
21. 21
1.- Debemos tener instalados en Android Studio y un
dispositivo virtual, como DALVIK o Genymotion
Android Virtual Device
Android SDK
O Genymotion
Configuración del proyecto
Android
22. 22
2.- Comprobar que tenemos el ANDROID_HOME
$: echo “ANDROID_HOME”
Sino debemos crearlo:
export HOME=/Users/myusuario
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH_ANDROID=$PATH_ANDROID:$ANDROID_HOME:
$ANDROID_HOME/tools:$ANDROID_HOME/platform-
tools:$ANDROID_HOME/add-ons
export PATH="$PATH_ANDROID/platform-tools:$PATH"
Configuración del proyecto
Android
23. 23
3.- Debemos instalar también GRADLE
4.- Instalamos en raíz
https://gradle.org/
$: /Users/phynet/gradle-2.3
Configuración del proyecto
Android
25. 25
$: gem install calabash-android
6.- Instala la gema de calabash-android:
Configuración del proyecto
Android
26. 26
7.- En una ventana del terminal, ve a la ruta de tu
proyecto Android:
cd ruta-de-mi-proyecto-android
Configuración del proyecto
Android
27. 27
9.- Movemos nuestro .apk a una ruta de más fácil acceso
8.- Necesitamos tener el .apk de nuestra aplicación
$: gradle assembleDebug
Compilamos con:
$: my-project/build-calabash/<Nombre del apk>
Configuración del proyecto
Android
28. 28
10.- Abrimos nuestro AVD Dalvik con:
$: emulator -avd Nexus_API_19
11.- Realizamos el resign de la app con calabash
$: calabash-android resign <Nombre del apk>
Configuración del proyecto
Android
29. 29
12.- Ejecutamos la consola con:
13.- Realizamos el calabash-android reinstall apps
$: reinstall_apps
$: calabash-android console build-
calabash/<Nombre del apk>
$: start_test_server_in_background
Configuración del proyecto
Android