求助:Teams Webhook AdaptiveCard长消息折叠(查看更多)配置方案
实现Teams测试结果消息折叠(带“查看更多”)的Adaptive Card配置方法
核心是利用Adaptive Card的容器可见性切换功能,通过Action.ToggleVisibility组件控制长内容的显示/隐藏,以下是具体配置方案:
配置思路
- 拆分内容为两部分:默认展示的测试摘要(如通过率、总用例数),以及默认隐藏的全量测试场景明细
- 添加切换按钮,点击后切换明细内容的显示状态,按钮文本随状态自动切换
完整Adaptive Card示例(适配test-results-reporter)
将以下结构作为自定义payload传入test-results-reporter的配置中:
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.4", "body": [ // 测试结果摘要(默认显示) { "type": "Container", "items": [ { "type": "TextBlock", "text": "**测试结果汇总**", "size": "Large", "weight": "Bolder" }, { "type": "FactSet", "facts": [ { "title": "总场景数:", "value": "${totalTests}" }, { "title": "通过数:", "value": "${passedTests}" }, { "title": "通过率:", "value": "${passPercentage}%" } ] } ] }, // 全量测试场景明细(默认隐藏) { "type": "Container", "id": "detailsContainer", "isVisible": false, "items": [ { "type": "TextBlock", "text": "**测试场景明细**", "size": "Medium", "weight": "Bolder", "spacing": "Medium" }, { "type": "TextBlock", "text": "${testDetails}", "wrap": true } ] } ], "actions": [ { "type": "Action.ToggleVisibility", "title": "查看更多", "targetElements": [ { "elementId": "detailsContainer", "isVisible": true } ], "toggleTitle": "收起" } ] }
与test-results-reporter的集成要点
- 在工具的配置文件(如
reporter-config.json)中,启用customPayload配置项,将上述Adaptive Card结构填入 - 替换示例中的占位符(如
${totalTests}、${testDetails})为工具提供的变量,或自定义生成的测试结果文本 - 确保工具版本支持自定义Adaptive Card payload(需确认test-results-reporter的文档,确认
customPayload参数可用)
注意事项
- 需使用Adaptive Card v1.0及以上版本(示例中用v1.4,兼容Teams最新版本)
- 若测试明细内容极长,可在隐藏容器内嵌套
Scrollable组件进一步优化显示体验 - Teams客户端会自动适配该交互逻辑,无需额外配置Teams租户设置
内容的提问来源于stack exchange,提问作者rakuju87
相关产品推荐
相关产品推荐

