Collecte de métriques côté appareil

Lors de l'exécution de tests côté appareil (instrumentations, tests UI Automator, etc.), les collecteurs côté hôte peuvent ne pas être idéaux car il est difficile de synchroniser la collecte de métriques avec un test exécuté sur un appareil. Par exemple, une capture d’écran prise de manière asynchrone manquera probablement l’écran souhaité et sera inutile.

Afin de répondre à ces cas d'utilisation, une version côté appareil de nos collecteurs existe et peut être utilisée dans n'importe quelle instrumentation « AndroidJUnitRunner ». BaseMetricListener peut être implémenté afin de signaler automatiquement les métriques collectées d'une manière entièrement compatible avec le pipeline de reporting Tradefed.

Cette bibliothèque est découplée de Tradefed lui-même et peut être utilisée sans Tradefed.

Si vous utilisez le programme d'exécution ' AndroidJUnitTest ' de Tradefed, vous pouvez simplement spécifier l'option de ligne de commande suivante pour que votre collecteur s'exécute avec vos tests :

  --device-listeners android.device.collectors.ScreenshotListener
  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

Mise en œuvre

Lors de l'implémentation au-dessus de la classe de base BaseMetricListener , vous pouvez choisir le moment où vous souhaitez collecter vos métriques pendant le cycle de vie de l'instrumentation :

  • Lorsqu'une exécution de test démarre : onTestRunStart
  • Lorsqu'un scénario de test démarre : onTestStart
  • Lorsqu'un scénario de test se termine : onTestEnd
  • Lorsqu'un scénario de test échoue : onTestFail
  • Lorsqu'une exécution de test se termine : onTestRunEnd

Interaction

La collecte de métriques côté appareil est effectuée de manière synchrone avec l'exécution de l'instrumentation elle-même, et les métriques sont renvoyées aux résultats de l'instrumentation et analysées par Tradefed pour être signalées dans le cadre de l'invocation.

,

Lors de l'exécution de tests côté appareil (instrumentations, tests UI Automator, etc.), les collecteurs côté hôte peuvent ne pas être idéaux car il est difficile de synchroniser la collecte de métriques avec un test exécuté sur un appareil. Par exemple, une capture d’écran prise de manière asynchrone manquera probablement l’écran souhaité et sera inutile.

Afin de répondre à ces cas d'utilisation, une version côté appareil de nos collecteurs existe et peut être utilisée dans n'importe quelle instrumentation « AndroidJUnitRunner ». BaseMetricListener peut être implémenté afin de signaler automatiquement les métriques collectées d'une manière entièrement compatible avec le pipeline de reporting Tradefed.

Cette bibliothèque est découplée de Tradefed lui-même et peut être utilisée sans Tradefed.

Si vous utilisez le programme d'exécution ' AndroidJUnitTest ' de Tradefed, vous pouvez simplement spécifier l'option de ligne de commande suivante pour que votre collecteur s'exécute avec vos tests :

  --device-listeners android.device.collectors.ScreenshotListener
  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

Mise en œuvre

Lors de l'implémentation au-dessus de la classe de base BaseMetricListener , vous pouvez choisir le moment où vous souhaitez collecter vos métriques pendant le cycle de vie de l'instrumentation :

  • Lorsqu'une exécution de test démarre : onTestRunStart
  • Lorsqu'un scénario de test démarre : onTestStart
  • Lorsqu'un scénario de test se termine : onTestEnd
  • Lorsqu'un scénario de test échoue : onTestFail
  • Lorsqu'une exécution de test se termine : onTestRunEnd

Interaction

La collecte de métriques côté appareil est effectuée de manière synchrone avec l'exécution de l'instrumentation elle-même, et les métriques sont renvoyées aux résultats de l'instrumentation et analysées par Tradefed pour être signalées dans le cadre de l'invocation.