Fichiers complémentaires (Android)
maj 31 oct 2024
Le TestRunner a besoin de fichiers de config et de tâches pour exécuter les tests. Ils se trouvent dans la section Examples du Gitlab Greenspector.
Règles de style :
Gras : paramètres contenant une valeur
Italique : pas de libre choix de valeur (ex : false/true)
1 - Job.yml
Le fichier job.yml donne les instructions au TestRunner sur les détails du parcours (variables, itérations).
Ici, il y a le modèle de fichier pour le test android disponible dans la section Examples pour Android dans le Gitlab Greenspector.
Les différentes lignes de code sont expliquées ci-dessous.
mode: custom
greenspector:
application:
name: ${APP_NAME} # Le nom de votre application
version: ${APP_VERSION} # La version de votre application
mode:
custom: test avec un script gdsl
apk: benchmark à partir d'un APK (ex : com.google.android.youtube)
url: benchmark à partir d’une URL (ex: https://metropole.nantes.fr)
freerunner: test manuel (dans ce cas, les champs job.monitoredPackages, job.stepName et job.duration doivent être remplis)
greenspector/application
name : le nom de l'application Greenspector App
version : le nom de la version
job:
# Liste de toutes les apk obligatoires à installer sur le téléphone avant le lancement du test
# L'URL peut être le nom du package à installer depuis le Playstore, le chemin en local d'une apk ou l'URL publique d'une apk.
# urls:
# - ${URL}
testsSuites:
- name: suite1
testFiles:
- "./script.testgb"
monitoredPackages:
- ${MONITORED_PACKAGE} # Le package à surveiller, existant ou nouvellement installé
iterations: 1 # Nombre d'itérations pour chaque cas de test
extras:
config-screenbrightness: "127"
config-skipsetupphone: "true"
PAUSEDURATION: "${PAUSEDURATION}"
PAUSEAFTERLOAD: "${PAUSEAFTERLOAD}"
testTimeout: 30m0s # Délai d'attente pour la durée totale du test, la valeur par défaut est de 30 m, la valeur maximale est de 60 m.
online: true # [true, false]
networkMode: WIFI
modules:
android_system_monitoring: false
hardware_probe: false
tcpdump: false
testsSuites
name: le nom de l’application
testFiles: le chemin du fichier du parcours fonctionnel
monitoredPackages:
pour les sites web : browser package
pour les app: app package
iterations: Nombre d'itérations pour chaque cas de test
extras:
config-screenbrightness: niveau de luminosité (50% = 127)
config-skipsetupphone:
“true” : saute la préparation du terminal (nettoyage du cache, …)
“false”
PAUSEDURATION
PAUSEAFTERLOAD
testTimeout: Délai d'attente pour la durée totale du test, la valeur par défaut est de 30 m, la valeur maximale est de 60 m.
online:
false : résultats disponibles sur votre pc
true : résultats disponibles sur l'application Greenspector et localement
networkMode: Veuillez noter que votre téléphone doit être capable de gérer le mode réseau.
WIFI
4G
3G
modules
android_system_monitoring: “false” (utilisation de la sonde dumpsys pour obtenir plus de résultats comme la mémoire utilisée par SQL, le nombre de vues chargées...)
hardware_probe: “false” (utilisation du module matériel pour obtenir la consommation d'énergie)
tcpdump: “false” (utilisation du module tcpdump pour obtenir les données échangées)
Des extras peuvent être ajoutés :
config-compressedLayoutHierarchy: true
config-waitForIdle: true (true par défaut, si “faux” fixer le délais d’idle à 0)
PAUSEAFTERACTION: 500
PAUSEAFTERSCROLL: 500
Variables nécessaires (id, mot de passe, ...)
Example
# Fichier de configuration du job Testrunner
mode: custom
greenspector:
application:
name: APP3
version: "test-18/02/2024"
job: # Custom job android apk
testsSuites:
- name: APP3
testFiles:
- journey.testgb
monitoredPackages:
- com.android.chrome
iterations: 1
networkMode: WIFI
testTimeout: 60m0s
online: false
modules:
android_system_monitoring: false
hardware_probe: false
extras:
config-skipsetupphone: true
config-screenbrightness: "127"
PAUSEDURATION: 5000 # A remettre à 30000 pour les mesures
PAUSEAFTERLOAD : 1000
PAUSEAFTERACTION: 500
PAUSEAFTERSCROLL: 500
ID: jean
PSWD: 5678
2 - Config.yml
Ici, il y a le modèle de fichier pour le test android disponible dans la section Examples pour Android dans le Gitlab Greenspector.
Les différentes lignes de code sont expliquées ci-dessous.
plateform: La plateforme sur laquelle vous testez (mobile)
connection: La façon dont l'appareil est connecté
wifi
usb
ip: Adresse IP du mobile
port: Le port utilisé par adb pour se connecter à l'appareil. La valeur par défaut est 5555
paths/adb: Le chemin d'accès à adb dans votre installation du SDK Android
paths/aapt: Le chemin d'accès à aapt dans votre installation du SDK Android
greenspector/server: URL de l'instance Greenspector (https://core-saas-prod.greenspector.com/)
greenspector/token: Token privé enregistré sur Greenspector dans Profil/Compte
Des paramètres peuvent être ajoutés :
resultPath: Le chemin où vous voulez que le Testrunner enregistre les résultats des tests. La valeur par défaut est ./greenspector.
log-level: Le niveau de log que vous souhaitez (de maximum à minimum)
debug
info
warn
error
fatal
panic
Des paramètres cibles peuvent être ajoutés :
target.ip : IP de l'appareil à mesurer
tcpdump : permet de récupérer les données échangées sur un téléphone. Ce module n'est pas compatible avec Windows.
gatewayIP : IP de la passerelle utilisée pour filtrer les données.ter data. A retrouver avec la commande
ifconfig
networkInterface : Interface réseau utilisée pour détecter les données. A retrouver avec la commande
ifconfig
ousudo tcpdump -D
.keepPcap :
true: conserve le fichier pcap à la fin des mesures
ipFilters : filtres pour extraire les échanges réseau de la mesure
apple: true : dans le cas d'une mesure iOS, pour filtrer les adresses IP correspondant à 17.0.0.0/8 (Apple).
launchOnDevice :
true: lance tcpdump sur l'appareil.
Example