在Squish里看日志,先要分清你要看的到底是哪一类信息:一种是测试执行结果日志,主要看用例是否通过、失败点在哪、哪一行脚本触发了问题;另一种是工具自身的调试日志,主要用于排查Squish IDE、squishserver、squishrunner与AUT挂接过程中的异常。把这两类入口分开理解,后面读结果会清楚很多。
一、Squish日志怎么打开
这一节先解决“去哪里看”的问题。最常用的入口其实有三个:IDE里的Test Results视图、命令行输出、以及工具自身的调试日志文件。先把入口记熟,排查时就不会只盯着一个窗口找半天。
1、在IDE里先看Test Results
Squish IDE默认会在Test Management Perspective显示Test Results视图,这里展示最近一次测试运行的结果,包含通过、失败、告警等条目;点中某条结果时,IDE还会高亮触发它的脚本行。
2、看历史结果用Recent Results和导入功能
如果不是刚跑完的结果,可以在Test Results里通过Recent Results切换到以前的执行结果;也可以导入之前导出的XML或ZIP结果包继续查看。
3、批量运行时直接看命令行输出
用squishrunner跑套件时,默认会把测试结果打印到stdout,所以CI或命令行场景下,第一份日志通常就是控制台输出。需要结构化结果时,再用reportgen把结果写成XML。
4、要看工具自身调试信息就开verbose或debugLog
startaut可用--verbose把Squish内部日志打到命令行标准错误输出;squishserver可用--verbose增加调试输出,也可用--logfile把日志写到指定文件;squishrunner则可用--debugLog输出更细的调试信息。
5、IDE内部日志级别在Preferences里调
如果要排IDE本身的问题,可在Preferences里的Squish页进入Logging设置,调整IDE Internal Logging Level。官方说明里也提到,支持团队在定位问题时可能会要求把它调到Verbose。
二、Squish日志级别与关键字段怎么读
这一节解决“看到了之后怎么读”的问题。对日常测试来说,先读结果类别和失败位置;对工具故障排查来说,再读调试级别和具体阶段。顺序别反,否则很容易被大量调试信息带偏。
1、先读结果类别
Test Results默认会显示通过、失败、告警等不同类型的结果,排查时先把注意力放在失败和错误,再回头看告警与普通通过项,效率更高。
2、再读触发位置
选中某条结果后,IDE会跳到对应脚本行,这个位置通常就是最先需要核对的地方。若结果树可展开,继续往下看子条目,常能看到更具体的失败上下文。
3、命令行调试级别重点看debugLog字母含义
squishrunner的--debugLog不是单一等级,而是一组阶段开关。a表示应用启动,l表示Windows下dllpreload,p表示preload阶段,w表示wrapping阶段。你怀疑卡在哪一段,就针对那一段开日志,不要一开始全开。
4、IDE内部日志级别只影响IDE自身
Preferences里的IDE Internal Logging Level只作用于Squish IDE内部日志,不会改变测试结果本身的通过失败判定,所以它更适合排IDE行为异常,而不是排脚本断言失败。
5、关键字段优先看四类
日常复核时,最值得先看的通常是结果类别、触发脚本行、详细子条目、以及是否附带差异信息或失败附件。新版结果导出还会把失败图像、截图和对象转储一起打进ZIP,适合做问题留证。
三、Squish日志复核怎么做
日志能打开也能看懂之后,最后要解决的是“如何用它形成稳定排查流程”。把结果查看、导出、复核动作固定下来,比每次临场找日志有效得多。
1、先在IDE里定位失败点
每次先从Test Results定位失败条目和脚本行,不要一上来就翻长日志。
2、再决定是否需要开调试日志
只有当失败原因落不到脚本与对象层,而像是启动、挂接、包装阶段异常时,再去开verbose或debugLog。
3、关键结果及时导出
需要留证时,直接从Test Results导出XML或ZIP,避免后面结果被新一轮执行覆盖。
4、团队内统一日志查看顺序
先结果视图,再失败明细,再命令行输出,最后才看工具调试日志,这样最不容易被噪声干扰。
总结
Squish日志的常用入口包括IDE里的Test Results、命令行输出,以及squishserver、squishrunner、startaut的调试日志。读日志时,先看通过失败类别和脚本触发位置,再根据需要下钻到debugLog或verbose阶段信息。把“结果视图优先、调试日志后置、导出留证固定化”这套顺序固定下来,排查效率会明显提升。