Pemicu Firebase Test Lab

Anda dapat memicu fungsi sebagai respons terhadap penyelesaian matriks uji di Firebase Test Lab. Misalnya, Anda dapat memberi tahu saluran Slack atau mengirim email jika pengujian gagal.

Memicu fungsi pada penyelesaian TestMatrix

Untuk memicu fungsi Firebase Test Lab, gunakan subpaket firebase-functions/v2/testLab. Anda dapat memicu fungsi saat TestMatrix selesai dengan pengendali peristiwa onTestMatrixCompleted().

Dalam contoh ini, fungsi tersebut mengambil data TestMatrix dari objek CloudEvent dan mengirim hasil pengujian yang terkait ke saluran 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);
    });

Mengakses detail klien

Matriks uji dapat dibuat dari berbagai sumber atau alur kerja. Oleh sebab itu, sebaiknya Anda membuat fungsi yang dapat melakukan berbagai tindakan berdasarkan sumber atau konteks penting pengujian. Untuk membantu melakukan tugas ini, gcloud memungkinkan Anda menyampaikan informasi arbitrer saat memulai pengujian yang dapat diakses nanti di fungsi Anda. Contoh:

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