Activadores de Firebase Test Lab

Puedes activar una función en respuesta a la finalización de una matriz de pruebas en Firebase Test Lab. Por ejemplo, puedes notificar a un canal de Slack o enviar un correo electrónico si falla una prueba.

Activa una función cuando finalice una matriz de pruebas

Para activar una función de Firebase Test Lab, usa el subpaquete firebase-functions/v2/testLab. Puedes activar funciones cuando se complete una matriz de pruebas con el controlador de eventos onTestMatrixCompleted().

En este ejemplo, la función recupera los datos de TestMatrix del objeto de CloudEvent y envía los resultados de la prueba correspondientes a un canal de Slack:

exports.posttestresultstoslack = onTestMatrixCompleted(
    {secrets: ["SLACK_WEBHOOK_URL"]},
    async (event) => {
    // Obtain Test Matrix properties from the CloudEvent
      const {testMatrixId, state, outcomeSummary} = event.data;

      // Create the title of the message
      const title = `${getSlackmoji(state)} ${getSlackmoji(
          outcomeSummary,
      )} ${testMatrixId}`;

      // Create the details of the message
      const details = `Status: *${state}* ${getSlackmoji(
          state,
      )}\nOutcome: *${outcomeSummary}* ${getSlackmoji(outcomeSummary)}
    `;

      // Post the message to slack
      const slackResponse = await postToSlack(title, details);

      // Log the response
      logger.log(slackResponse);
    });

Accede a los detalles del cliente

Las matrices de pruebas se pueden crear a partir de diferentes fuentes o flujos de trabajo. Por lo tanto, a menudo se recomienda crear funciones que realicen acciones distintas basadas en la fuente o en otro contexto importante de la prueba. Para ayudarte con esto, cuando inicies una prueba, gcloud te permitirá pasar información arbitraria a la que puedas acceder más adelante en la función. Por ejemplo:

gcloud beta firebase test android run \
    --app=path/to/app.apk \
    --client-details testType=pr,link=<path/to/pull-request>