Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Firebase Test Lab kích hoạt

Bạn có thể kích hoạt một chức năng để đáp ứng với việc hoàn thành ma trận thử nghiệm trong Phòng thí nghiệm kiểm tra Firebase. Ví dụ: bạn có thể thông báo kênh Slack hoặc gửi email nếu thử nghiệm thất bại.

Để biết thêm ví dụ về các trường hợp sử dụng, hãy xem Tôi có thể làm gì với Cloud Function? .

Kích hoạt một chức năng khi hoàn thành TestMatrix

Tạo một hàm mới kích hoạt khi TestMatrix hoàn thành với functions.testLab.testMatrix().onComplete() xử lý sự kiện.testLab.testMatrix functions.testLab.testMatrix().onComplete() :

 exports.sendEmailNotification = functions.testLab.testMatrix().onComplete((testMatrix) => {
  // ...
});
 

Xử lý các trạng thái và kết quả kiểm tra

Mỗi lần thực hiện chức năng của bạn được thông qua một TestMatrix bao gồm trạng thái cuối cùng của ma trận và các chi tiết để giúp hiểu các vấn đề.

 exports.handleTestMatrixCompletion = functions.testLab.testMatrix().onComplete(testMatrix => {
  const matrixId = testMatrix.testMatrixId;
  switch (testMatrix.state) {
    case 'FINISHED':
      console.log(`TestMatrix ${matrixId} finished with outcome: ${testMatrix.outcomeSummary}`);
      break;
    case 'INVALID':
      console.log(`TestMatrix ${matrixId} was marked as invalid: ${testMatrix.invalidMatrixDetails}`);
      break;
    default:
      console.log(`TestMatrix ${matrixId} completed with state ${testMatrix.state}`);
  }
  return null;
});
 

Truy cập chi tiết khách hàng

Ma trận thử nghiệm có thể được tạo từ các nguồn hoặc quy trình công việc khác nhau. Do đó, thường mong muốn tạo ra các hàm thực hiện các hành động khác nhau dựa trên nguồn hoặc bối cảnh quan trọng khác của thử nghiệm. Để giúp với điều này, gcloud cho phép bạn truyền thông tin tùy ý khi bắt đầu một bài kiểm tra có thể được truy cập sau này trong chức năng của bạn. Ví dụ:

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

Hàm ví dụ:

 exports.notifyOnPullRequestFailure = functions.testLab.testMatrix().onComplete(testMatrix => {
  if (testMatrix.clientInfo.details['testType'] != 'pr') {
    // Not a pull request
    return null;
  }

  if (testMatrix.state == 'FINISHED' && testMatrix.outcomeSummary == 'SUCCESS') {
    // No failure
    return null;
  }

  const link = testMatrix.clientInfo.details['link'];
  let message = `Test Lab validation for pull request ${link} failed. `;

  if (!!testMatrix.resultStorage.resultsUrl) {
    message += `Test results available at ${testMatrix.resultStorage.resultsUrl}. `;
  }

  // Send notification here ...
});