3. HockeyApp - Beta distribution
● APKs hébergés chez
HockeyApp
● Alerte des beta testeurs
○ par mail
○ dans l’application
● Historique des versions
○ application Android
○ page web
4. HockeyApp - Crash report
●
●
●
●
●
Basé sur le volontariat des utilisateurs
Remontée des crashs en temps réel
Regroupement des crashs similaires
Fonctionne avec Proguard
Rapport quotidien par mail
14. Jenkins - Job ‘viadeo android’
● Vérification toutes les 15 minutes si une
modification a eu lieu sur le repository GIT
● Si oui, update du code
● Compilation
● Envoi d’un mail en cas d’erreur
15. Jenkins - Job ‘push to HockeyApp’
●
●
●
●
Exécution à la main
Update du code
Compilation
Envoi de l’APK sur HockeyApp
○
plugin : https://wiki.jenkins-ci.org/display/JENKINS/Hockeyapp+Plugin
16. Jenkins - Job ‘viadeo android test’
● Vérification toutes les 15 minutes si une
modification a eu lieu sur le repository GIT
● Si oui, update du code
● Compilation
● Démarrage d’un émulateur
○
plugin : https://wiki.jenkins-ci.org/display/JENKINS/Android+Emulator+Plugin
● Installation de l’application dans l’émulateur
● Installation de l’application de test dans l’émulateur
● Exécution des tests
17. Jenkins - Récupération d’un rapport
● Utilisation d’un TestRunner alternatif
○ android junit report
manifest.xml
<instrumentation
android:name="com.zutubi.android.junitreport.JUnitReportTestRunner"
android:targetPackage="com.viadeo.android" />
ant.properties
test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner
Plus d’info : http://zutubi.com/source/projects/android-junit-report/
18. Jenkins - Récupération d’un rapport
build.xml
● Création d’une
nouvelle target
Ant
● Copie du
rapport en
XML dans le
projet
<target name="fetch-test-report" >
<xpath
expression="/manifest/@package"
input="${tested.project.dir}/AndroidManifest.xml"
output="tested.manifest.package" />
<echo>Downloading XML test report...</echo>
<mkdir dir="junitreports" />
<exec
executable="${adb}"
failonerror="true" >
<arg line="${adb.device.arg}" />
<arg value="pull" />
<arg value="/data/data/${tested.manifest.package}/files/junit-report.xml" />
<arg value="junitreports/junit-report.xml" />
</exec>
</target>
19. Jenkins - Récupération d’un rapport
● Création d’une
nouvelle target Ant
● Copie du dossier de
screenshots robotium
dans le projet
build.xml
<target name="fetch-test-screenshots" >
<echo>Downloading test screenshots...</echo>
<mkdir dir="Robotium-Screenshots" />
<exec
executable="${adb}"
failonerror="true" >
<arg line="${adb.device.arg}" />
<arg value="pull" />
<arg value="/sdcard/Robotium-Screenshots" />
<arg value="Robotium-Screenshots" />
</exec>
</target>