Gatilhos do Firebase Test Lab

Uma função pode ser acionada em resposta à conclusão de uma matriz de teste no Firebase Test Lab. Se um teste falhar é possível, por exemplo, notificar um canal do Slack ou enviar um e-mail.

Acionar uma função na conclusão da matriz de teste

Para acionar uma função do Firebase Test Lab, use o subpacote firebase-functions/v2/testLab. É possível acionar funções quando uma matriz de teste é concluída com o manipulador de eventos onTestMatrixCompleted().

Neste exemplo, a função recupera os dados de TestMatrix do objeto CloudEvent e envia os resultados de teste correspondentes para um canal do 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);
    });

Acessar detalhes do cliente

As matrizes de teste podem ser criadas a partir de diferentes origens ou fluxos de trabalho. Portanto, é sempre recomendável criar funções que executam ações diferentes com base na fonte ou em outro contexto importante do teste. Para ajudar com isso, ao iniciar um teste, use a gcloud para transmitir informações arbitrárias que podem ser acessadas depois na sua função. Exemplo:

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