Squish中文网站 > 最新资讯 > Squish怎么生成测试报告 Squish测试报告缺少执行结果如何检查
教程中心分类
Squish怎么生成测试报告 Squish测试报告缺少执行结果如何检查
发布时间:2026/08/28 16:48:49

  Squish完成自动化测试后,可以在IDE中查看执行结果,也可以通过命令行生成适合归档或CI使用的报告。报告中通常会包含测试用例状态、验证点结果、错误信息和相关附件。如果导出的报告只有测试用例名称,却缺少具体通过、失败或验证结果,问题往往出在测试脚本没有写入有效结果、报告生成方式不匹配,或者测试执行被提前中断。围绕“Squish怎么生成测试报告,Squish测试报告缺少执行结果如何检查”,需要把测试执行、结果记录和报告输出三个环节分别确认。

  一、Squish怎么生成测试报告

 

  Squish测试结果首先由squishrunner记录。使用IDE运行时,这些信息会显示在Test Results视图;使用命令行运行时,则可以通过报告生成器输出到指定文件或目录。Squish 9.2仍支持同时配置多个报告生成器。

 

  1、从IDE查看并导出测试结果

 

  ①在Squish IDE中运行目标【Test Case】或完整【Test Suite】。

 

  ②测试结束后打开底部【Test Results】,展开对应测试用例。

 

  ③检查其中是否包含【Pass】【Fail】、验证信息、异常以及开始和结束记录。

 

  ④需要保存结果时,右键单击【Test Results】,在弹出的菜单中选择【Export Results】。

 

  ⑤指定保存位置后导出XML结果文件,再检查导出的内容是否与IDE中显示一致。

 

  Squish默认会把测试结果显示在Test Results视图中,IDE也支持直接将这些结果导出为XML。

 

  2、通过squishrunner生成报告

 

  CI或无人值守环境更适合使用squishrunner直接生成报告。例如:

  ①使用【--testsuite】指定需要运行的测试套件。

 

  ②需要限制执行范围时,再通过对应参数指定Test Case。

 

  ③使用【--reportgen】选择报告生成器和保存位置。

 

  ④CI需要JUnit结果时可使用【junit】;需要其他结构化结果时,根据当前版本支持的生成器选择对应格式。

 

  ⑤需要同时输出多种报告时,可以配置多个【--reportgen】。

 

  Squish 9.2的squishrunner支持多个报告生成器;当前junit报告还会为失败验证保留更详细的失败条目,便于Jenkins、GitLab等平台展示结果。

 

  3、附件较多时设置结果目录

 

  ①报告中包含失败截图、验证附件或其他文件时,设置【--resultdir】保存相关结果资源。

 

  ②确认CI运行账号对目标目录具有写入权限。

 

  ③使用文件型报告生成器时,让报告文件和附件目录保持稳定的相对关系。

 

  ④如果使用【html】【json】【xml3】等目录型生成器,不要再错误组合不兼容的【--resultdir】参数。

 

  Squish官方说明中,文件型报告生成器可以配合--resultdir保存截图和附件,而目录型生成器自身会管理结果目录,两类方式不能随意混用。

 

  二、Squish测试报告缺少执行结果如何检查

 

  报告文件能够正常生成,但里面没有预期的Pass、Fail或验证结果时,应先检查Squish在执行阶段有没有真正记录这些信息。报告生成器只能输出已有测试日志,无法替测试脚本补充没有产生过的验证结果。

  1、先检查Test Results中有没有原始结果

 

  ①用IDE重新执行同一个Test Case。

 

  ②展开【Test Results】,查看测试过程是否存在明确的验证条目。

 

  ③如果IDE中已经缺少执行结果,问题应优先放在测试脚本和运行过程,而不是报告格式。

 

  ④如果IDE结果完整、导出文件缺失,再继续检查报告生成器和输出配置。

 

  这是最直接的分界方法,可以快速判断问题发生在【结果产生】还是【结果导出】阶段。

 

  2、检查脚本是否真正写入验证结果

 

  Squish中的test.verify()、test.compare()等函数会把Pass或Fail写入测试日志;如果脚本只是完成点击、输入和页面切换,却没有执行验证,报告自然不会包含具体校验结果。

 

  ①检查目标步骤后是否存在【Verification Point】或对应的test.验证语句。

 

  ②确认这些代码实际进入了执行路径,没有被条件判断跳过。

 

  ③BDD场景下检查目标Step是否真正执行,并确认没有缺少实现。

 

  ④对需要记录业务结果的位置补充有意义的验证,而不是只记录普通日志。

 

  3、检查测试是否在中途异常结束

 

  ①查看【Runner/Server Log】,确认是否存在AUT崩溃、脚本异常、对象查找超时或Squish Server连接中断。

 

  ②如果报告只包含开始信息,没有正常结束结果,检查测试是否被CI强制终止。

 

  ③使用断点调试时,确认无人值守执行没有长期停在断点位置。

 

  ④多个Test Case连续运行时,检查是否因为前一个测试Fatal或环境异常导致后续用例根本没有启动。

 

  Squish会分别保留Test Results以及Runner/Server日志;发生Fail、ExpectedFail、UnexpectedPass和错误时,可以从结果和日志两侧判断执行停在什么阶段。

 

  三、怎样判断报告缺项来自执行过程还是报告配置

 

  测试报告缺少结果时,最有效的处理方式不是直接更换报告格式,而是建立一条固定的验证链:同一测试先确认IDE结果,再检查命令行标准输出,最后核对生成文件。这样能够快速识别丢失发生在哪一个环节。

 

  1、用最小测试建立报告基准

 

  ①新建一个简短Test Case,只保留一个确定能够成功的验证和一个能够明确显示结果的检查点。

 

  ②先在IDE中运行,确认【Test Results】能够看到完整状态。

 

  ③再用squishrunner执行同一用例,并生成与正式环境相同格式的报告。

 

  ④如果最小用例报告完整,而正式套件缺项,应重点检查正式测试的异常中止、条件分支和脚本逻辑。

 

  ⑤如果最小用例也缺失,则继续检查报告生成器参数、Squish版本和输出目录。

 

  2、CI环境要核对报告是否来自本次运行

 

  ①每次执行使用独立或可识别的【结果目录】,避免多个任务覆盖同一个报告。

 

  ②检查报告文件的修改时间和本次构建编号,确认CI读取的是最新文件。

 

  ③并行运行多个Squish任务时,为每个任务分配不同的报告路径。

 

  ④CI采用JUnit解析时,确认平台读取的是当前squishrunner生成的JUnit文件,而不是旧版遗留结果。

 

  Squish 9.2已经调整JUnit测试用例映射,并增强失败验证的详细输出,因此升级版本后也应重新验证CI平台对报告的解析效果。

  总结

 

  Squish测试报告是否完整,实际反映的是测试执行、结果记录和报告转换之间有没有保持一致。报告里缺少执行结果时,真正值得确认的是测试过程是否产生了足够的验证证据,以及这些证据有没有完整传递到最终报告。建立一套稳定的结果核对方式,可以让报告不仅用于判断测试是否通过,也能为失败定位、版本回归和CI质量门禁提供可靠依据。希望本文对大家使用Squish管理自动化测试结果有所帮助,如需进一步了解Squish测试报告生成与执行结果缺失排查方法,欢迎联系咨询。

135 2431 0251