Squish中文网站 > 新手入门 > Squish脚本断点怎么设置 Squish脚本断点命中后变量怎么查看
教程中心分类
Squish脚本断点怎么设置 Squish脚本断点命中后变量怎么查看
发布时间:2026/07/31 16:55:26

  Squish脚本运行太快时,单靠日志很难看清变量在哪一步变了。设置断点后,可以让测试停在指定代码行,再检查脚本变量、调用栈和AUT对象属性。

 

  处理“Squish脚本断点怎么设置Squish脚本断点命中后变量怎么查看”,要把断点放在真正会执行的代码上。断点打在空行、注释或没走到的分支里,运行多少次都不会停。

  一、Squish脚本断点怎么设置

 

  Squish IDE支持在Python、JavaScript、Perl、Ruby和Tcl等测试脚本中调试。断点命中后,界面会自动切换到【测试调试透视图】,并显示调试、变量、控制台和AUT对象等视图。

 

  1、在脚本编辑器中添加断点

 

  ①打开需要调试的测试用例脚本。

 

  ②找到准备暂停的可执行代码行。

 

  ③双击行号左侧的空白区域。

 

  ④确认该行旁边出现断点标记。

 

  ⑤点击【运行测试用例】重新执行。

 

  也可以右击行号左侧区域,选择【添加断点(Add Breakpoint)】。断点必须放在可执行语句上,空行和注释行不能正常命中。

 

  断点位置最好放在待检查代码之前。例如想看点击按钮后的页面状态,就把断点放在点击语句的下一行。放得太早,变量可能还没赋值;放得太晚,错误现场已经过去了。

 

  2、在脚本中插入固定断点

 

  需要长期保留某个调试位置时,也可以在代码中加入:

 

  test.breakpoint()

 

  脚本运行到这里会主动暂停。JavaScript同样使用test.breakpoint(),其他脚本语言按照各自语法调用。该函数的作用就是让调试器停在当前位置。

 

  这种方式适合共享脚本、公共初始化函数或附加到现有AUT的测试。调试结束后记得删除或注释掉,不然以后跑回归测试,每次都会停在这里。

 

  3、管理多个断点

 

  断点多了以后,可以统一在【断点(Breakpoints)】视图中管理。

 

  ①点击【窗口】→【显示视图】→【断点】。

 

  ②查看当前脚本中的全部断点。

 

  ③取消断点前的勾选,可暂时禁用。

 

  ④选中无用断点,点击删除按钮。

 

  ⑤需要全部跳过时,启用【跳过所有断点】。

 

  【断点】视图默认不会一直显示,也可以使用Shift+Alt+Q,再按B打开。断点被取消勾选或启用了全部跳过后,脚本不会在对应位置暂停。

 

  不需要的断点可以先禁用,没必要马上删掉。等问题确认解决,再清理会更稳。

 

  二、Squish脚本断点命中后变量怎么查看

 

  断点命中后,Squish会切换到【测试调试透视图】。这时可以同时查看当前代码位置、调用层级、脚本变量和AUT对象状态。

 

  1、在变量视图中查看当前值

 

  ①找到【变量(Variables)】视图。

 

  ②展开当前函数中的局部变量。

 

  ③查看变量名称、类型和值。

 

  ④遇到时,点击箭头展开。

 

  ⑤继续单步执行,观察数值变化。

 

  【变量】视图会随着代码执行自动更新。变量进入作用域时会出现,值发生变化时会刷新,离开当前作用域后则会消失。复杂对象通常可以继续展开,查看其成员名称、类型和值。

 

  列表、字典和对象层级比较深时,不要一次全展开,界面很快就会挤成一团。先盯住和当前失败有关的两三个变量,排查会清楚很多。

  2、切换调用栈查看其他函数变量

 

  脚本停在公共函数或封装方法中时,当前变量视图显示的是这一层函数的数据。想看调用它的上层代码,需要切换调用栈。

 

  ①在【调试(Debug)】视图中展开调用栈。

 

  ②点击需要查看的函数层级。

 

  ③等待编辑器跳到对应代码行。

 

  ④返回【变量】视图查看该层变量。

 

  ⑤点击当前栈顶,回到暂停位置。

 

  【调试】视图会显示脚本暂停的文件、行号和完整回溯信息,点击不同栈帧即可在调用层级之间跳转。

 

  看到变量“突然不见了”时,先看看是不是切到了另一层调用栈。它可能还在,只是不属于当前栈帧。

 

  3、查看AUT控件的属性

 

  脚本变量中保存了AUT对象引用时,可以在【变量】视图中展开查看。需要更完整的控件信息,则可以配合【应用程序对象】和【属性】视图。

 

  ①在【应用程序对象】中找到目标控件。

 

  ②单击控件对象。

 

  ③在【属性】中查看文本、可见性和启用状态。

 

  ④需要重新定位时使用对象拾取器。

 

  ⑤对照脚本变量确认是否指向同一个对象。

 

  断点调试不仅能检查脚本,也可以检查正在运行的AUT内部对象。Squish的调试器和Spy工具能够查看应用对象属性,并可在暂停状态下插入验证点。

 

  例如按钮明明出现在页面上,脚本却说找不到,这时可以查看对象名称、父对象和可见状态。比起盲目增加等待时间,这样查更快。

 

  4、用控制台临时计算表达式

 

  【控制台(Console)】可以在暂停时执行当前脚本语言的表达式,也能访问AUT对象、测试对象属性或补充测试日志。

 

  可以输入简单表达式检查内容,例如Python脚本中查看列表长度:

 

  len(resultList)

 

  控制台适合做临时计算,不过不同脚本语言对局部变量访问的支持可能有差异,而且不支持直接修改测试脚本变量。别在这里强行改值来让用例通过,查清原始问题更重要。

 

  三、断点不命中或变量看不到怎么排查

 

  断点已经显示在编辑器里,脚本却一路跑完,通常和断点状态、代码执行路径或文件保存有关。

 

  1、确认代码真的执行到该行

 

  ①把断点移到函数入口。

 

  ②检查条件分支是否满足。

 

  ③确认当前运行的是正确测试用例。

 

  ④查看调用函数是否提前返回。

 

  ⑤在附近加入临时日志再运行。

 

  断点放在if分支里,而测试数据根本没进入这个分支,当然不会停。先往前挪几行,很快就能判断脚本从哪里绕开了。

 

  2、检查断点有没有被禁用

 

  打开【断点】视图,确认目标断点前面已经勾选,同时查看【跳过所有断点】是否被打开。编辑器里的断点标记还在,并不代表它当前处于启用状态。

 

  另外要保存脚本再运行。Squish建议将“启动前保存已修改编辑器”设为【始终】或至少【提示】,避免执行到的还是旧代码。

 

  3、变量还没有创建或已经离开作用域

 

  断点放在赋值语句之前,变量自然不会出现。变量定义在另一个函数内部,当前函数也看不到。

 

  可以按F6执行【单步跳过】,逐行观察变量何时出现;需要进入被调用函数时按F5;检查完成后按F8继续运行。

 

  别连续按太快。变量刚变化就被下一行覆盖,很容易错过真正出问题的位置。

 

  4、让测试失败时自动暂停

 

  某些问题位置不固定,可以在【测试套件设置】中启用失败时中断。Squish会在测试失败时按照类似断点的方式暂停,还可以针对对象、图像或文字找不到的问题开启交互式调试。

 

  这类设置适合偶发失败。等问题定位完成后可以关掉,不然批量运行时会频繁停住。

  总结

 

  “Squish脚本断点怎么设置Squish脚本断点命中后变量怎么查看”主要用于还原脚本执行现场。断点位置、调用层级和变量作用域对得上,很多对象找不到、条件判断异常和数据变化问题都会更容易看清。希望本文对大家使用Squish调试脚本和检查运行变量有所帮助。

135 2431 0251