Squish中文网站 > 使用教程 > squish报告为什么不完整 squish报告模板应怎样配置
squish报告为什么不完整 squish报告模板应怎样配置
发布时间:2025/12/30 15:22:47

  不少团队在用Squish做回归时,会遇到同一套用例在本地看着正常,上了CI或导入到Squish IDE后报告却缺图、缺附件、缺失败栈,甚至只剩一张汇总表。报告不完整往往不是单一故障,而是报告生成器选型、结果目录归档、附件写入方式三件事没有对齐,先把“结果产出路径”和“报告呈现格式”校准,后面排查会轻很多。

  一、squish报告为什么不完整

 

  先别急着怀疑脚本没跑完,建议把问题拆成两类:报告生成器有没有把信息写出来,结果目录有没有把该带的附件留住。按下面顺序过一遍,通常能在第一轮就锁定范围。

 

  1、先核对报告生成器是否选对

 

  在命令行执行时,如果只用默认stdout,很多细节只会打印到控制台;如果需要结构化报告与附件链接,优先用xml3系列或junit这类生成器,并确认当前生成器是否支持附件链接能力,例如test.attachFile只有在xml3、html、junit报告里才会生成可点击链接,其他生成器可能只留一条日志。

 

  2、检查结果目录是否被覆盖或被清理

 

  目录型报告生成器会把结果写到指定report-dir,并且同一轮执行只允许同时存在一个目录型生成器;如果流水线每次都复用同一个目录,或者在归档前做了清理,就会出现“汇总还在,图片和附件没了”的典型现象。

 

  3、确认是否误用--resultdir导致结果落盘不符合预期

 

  --resultdir主要配合文件型报告生成器使用,而目录型生成器会自己隐式确定结果目录;当把文件型与目录型生成器组合使用时,需要按规则移除--resultdir并由目录型生成器来接管目录,否则会直接报错或产出路径混乱,最终表现为报告缺失截图与失败证据。

 

  4、从Squish IDE导入或分享结果时避免只导出XML

 

  Squish IDE对结果导入有两种格式,一种是没有附件的XML文件,另一种是包含截图与视频等附件的ZIP归档,并且文档明确更推荐ZIP格式;如果团队成员之间只传results.xml,导入后“树还在、图没了”就会被误判成报告不完整。

 

  5、执行被中断或提前终止导致尾部信息缺失

 

  如果启用了--abortOnFail、设置了--timeout,或者运行期间squishrunner与squishserver连接异常,测试可能在失败点后直接结束,报告会缺少后续用例结果与部分收尾日志;这类问题要结合退出码、超时配置和失败点前后的日志连续性一起看,再决定是放宽超时还是改成失败后继续跑完全套。

 

  二、squish报告模板应怎样配置

 

  这里的“模板”更建议理解成“统一的报告产出规范”,让不同人、不同机器、不同流水线出来的结果都长得一致、证据齐全、可复查。配置时先定目标,再定生成器组合,最后定归档方式。

 

  1、先定报告要给谁看

 

  给人直接阅读可以用HTML类报告,但需要注意Squish文档已将HTML报告生成器标注为遗留方案,部分新特性不覆盖;给平台解析更适合用junit或xml3,再交给CI或Test Center做二次展示与统计。

  2、统一选用xml3版本并固定目录结构

 

  xml3系列不同小版本覆盖的信息不一样,例如xml3.4明确支持附件、截图与脚本回溯信息;团队内部最好固定到同一版本,并把report-dir约定为按日期与构建号分层,避免覆盖写入。

 

  3、需要CI看趋势就加junit输出

 

  junit会输出单文件XML,CI平台通常能直接识别;同时再配一个xml3目录型输出用于保留截图与附件,但要记住同一轮只允许一个目录型生成器,避免再叠加第二个目录型输出导致直接失败。

 

  4、在脚本里明确把关键证据写进报告

 

  对于缺陷定位依赖的文件,如崩溃日志、导出的配置、关键截图,建议在失败点附近调用test.attachFile写入报告目录,文件会被复制到SuiteName与TestName对应的attachments目录下,并在支持的报告中生成链接,避免证据散落在工作区被清理。

 

  5、需要集中化管理就对接Test Center

 

  如果团队希望在Web端统一看批次、标签与趋势,直接使用testcenter报告生成器把结果上传到Test Center,并在URL里带上版本与环境等标签,后续按标签筛选会更稳定,减少“报告文件散落各处找不到”的问题。

 

  三、squish报告模板应怎样保证结果可复核

 

  当报告能稳定产出后,下一步是把“可复核”做成默认能力,也就是任何一次失败都能在报告里复现上下文、定位脚本位置、拿到证据文件,不靠口头补充。

 

  1、把批次与环境信息写进报告入口

 

  无论是上传到Test Center还是归档到制品库,都建议用构建号、版本号、操作系统、分支名作为固定字段,Test Center也支持按标签和批次管理结果,减少跨人交接时的信息断层。

 

  2、把附件与截图作为归档必选项

 

  对外共享或跨机导入时,优先使用Squish IDE的【Export】导出ZIP结果包,而不是只导出XML,保证截图、视频与附件都在同一个归档里,后续复盘不需要再回机器找目录。

 

  3、把失败点的复跑路径留在报告里

 

  在Squish IDE里可以在结果视图中用【Re-Run Test】重跑失败所属用例片段;在流水线侧则建议保留随机执行的序列号或关键参数,确保下一次复跑能对齐当时的执行条件。

 

  4、把目录保留规则写进流水线

 

  对目录型输出,建议在归档前不要做清理动作,先把report-dir整体打包为制品,再按保留周期清理工作区;这样“报告缺失”问题会明显减少,因为大多数缺失并非没生成,而是生成后被清掉。

  总结

 

  要解决Squish报告不完整,核心不是堆更多日志,而是先把报告生成器、结果目录、附件写入三件事对齐:生成器选对了,目录不被覆盖,附件按规范写入并用ZIP或制品完整归档,报告自然会变得可读、可追溯、也更经得起团队复盘。

135 2431 0251