用途:分析 Testany 测试执行失败的原因,排查问题并定位根因,提供修复建议。
主要能力:获取执行概览与失败 case 详情;获取和解读执行日志;对失败类型进行分类,包括 Assertion(断言失败,预期值与实际值不符)、Timeout(执行超时,如接口响应慢、死循环)、Error(运行时错误,如代码异常、依赖缺失)、Infrastructure(基础设施问题,如网络不通、服务不可用);识别常见问题模式并给出修复方向。
使用方式:诊断工作流为——先调用 testany_get_execution 获取执行信息,从执行详情中定位失败 case;再调用 testany_get_execution_case 获取失败 case 详情;然后调用 testany_log_sign(executionKey, caseIndex) 获取日志签名并返回 curlCommand;对 curlCommand 做安全验证后执行以获取日志;最后分析日志、识别错误类型与位置并给出建议。
安全验证要求:执行 curlCommand 前必须验证。域名只允许 .testany.io、.testany.com.cn;协议必须是 HTTPS;参数不得包含 -o、管道 |、命令链 ;、命令替换 $( 等。示例验证逻辑:URL=$(echo "$CURL_COMMAND" | grep -oP 'https://[^\s"]+'),若匹配 ^https://(.*.)?testany.(io|com.cn)/ 则执行 eval "$CURL_COMMAND",否则拒绝执行。
适用场景与常见问题速查:Case 创建后无法执行(检查 runtime 未配置、runtime_uuid);Relay 变量未传递(type 配置错误,源 case 需 type='output',目标需 type='env');Pipeline 执行卡住(依赖 case 失败,检查 whenPassed 依赖的 case 状态);脚本执行报错(executor 配置不匹配,检查 trigger_path 或 trigger_command);超时(检查被测服务状态,增加超时配置)。
输出格式:诊断完成后汇报失败原因分类、具体错误信息、问题定位(哪个 case、哪一步)、修复建议,以及日志查看链接(如需要)。
限制:资料未说明收费、平台支持范围与更多约束条件,暂未提供。