如何从 Firebase 测试实验室获取测试用例结果?
How do I get test cases results from Firebase Test Lab?
我已经设置了一个 Google 云功能,可以在某些 documentation
的帮助下向 Slack 报告 Firebase 测试实验室结果
但是,它目前仅显示“PASSED”或“FAILED”,这没有多大帮助。我想显示通过的测试总数,例如9/20 test cases passed
.
我找不到任何详细说明如何执行此操作的文档。不可能吗?
这是我当前的功能:
exports.postTestResultsToSlack = functions.testLab
.testMatrix()
.onComplete(async testMatrix => {
if (testMatrix.clientInfo.details['testType'] != 'regression') {
// Not regression tests
return null;
}
const { testMatrixId, state, outcomeSummary, resultStorage } = testMatrix;
const colour = getSlackColour(outcomeSummary)
const title = `*Test Session: ${testMatrixId}*`;
const details = `7/10 passed (58%)`; // Replace hardcoded data here
const resultURL = resultStorage.resultsUrl
const slackResponse = await postToSlack(colour, title, details, resultURL);
functions.logger.log(JSON.stringify(slackResponse.data));
});
下面是我想要但找不到获取方式的数据截图:
没有直接通过 Functions SDK 获取此数据的方法。您将需要对相应的 API 端点进行 HTTPS 调用以检索它。
我手边没有 JavaScript 代码,但是例如这是调用具有此数据的端点的 curl
/gcloud
命令:
curl \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: <projectid>" \
https://toolresults.googleapis.com/toolresults/v1beta3/projects/<projectid>/histories/<historyid>/executions/<executionid>/environments
此测试的 historyid
和 executionid
存储在 TestMatrix.resultStorage
中。不要忽视您必须在 2 个地方提供 projectid
。
结果将是一个包含 Environment
列表的 JSON。您需要的数据在 Environment.environmentResult.testSuiteOverviews
字段中。
我已经设置了一个 Google 云功能,可以在某些 documentation
的帮助下向 Slack 报告 Firebase 测试实验室结果但是,它目前仅显示“PASSED”或“FAILED”,这没有多大帮助。我想显示通过的测试总数,例如9/20 test cases passed
.
我找不到任何详细说明如何执行此操作的文档。不可能吗?
这是我当前的功能:
exports.postTestResultsToSlack = functions.testLab
.testMatrix()
.onComplete(async testMatrix => {
if (testMatrix.clientInfo.details['testType'] != 'regression') {
// Not regression tests
return null;
}
const { testMatrixId, state, outcomeSummary, resultStorage } = testMatrix;
const colour = getSlackColour(outcomeSummary)
const title = `*Test Session: ${testMatrixId}*`;
const details = `7/10 passed (58%)`; // Replace hardcoded data here
const resultURL = resultStorage.resultsUrl
const slackResponse = await postToSlack(colour, title, details, resultURL);
functions.logger.log(JSON.stringify(slackResponse.data));
});
下面是我想要但找不到获取方式的数据截图:
没有直接通过 Functions SDK 获取此数据的方法。您将需要对相应的 API 端点进行 HTTPS 调用以检索它。
我手边没有 JavaScript 代码,但是例如这是调用具有此数据的端点的 curl
/gcloud
命令:
curl \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "X-Goog-User-Project: <projectid>" \
https://toolresults.googleapis.com/toolresults/v1beta3/projects/<projectid>/histories/<historyid>/executions/<executionid>/environments
此测试的 historyid
和 executionid
存储在 TestMatrix.resultStorage
中。不要忽视您必须在 2 个地方提供 projectid
。
结果将是一个包含 Environment
列表的 JSON。您需要的数据在 Environment.environmentResult.testSuiteOverviews
字段中。