Ⅰ.16 如何编辑和调试测试脚本

除了记录和编辑测试脚本的工具,Squish也为调试测试脚本和检查AUT内部对象提供了支持。调试器不仅用于查找和修复测试脚本中的bug,而且还有助于检查一个运行中的AUT时使用断点功能。

Ⅰ.16.1 如何使用脚本调试器

Squish IDE的脚本调试器允许我们在脚本中设置断点。这有助于我插入verification points,或者从一个断点前记录,将在后面讨论。一旦测试脚本在断点处停下来我们可以通过点击 Resume 工具条按钮(或者按下F8)继续正常执行测试,或者我们通过点击Run->Step Into (或按下F5)或者点击Run->Step Over(或按下F6)进入测试脚本。要不然,我们可以通过点击Terminate工具条(ctrl-F2)停止测试执行。

运行至一个断点时,可以使用Squish的调试器来查看调用堆栈以及使用Squish Spy工具来检查应用程序的对象属性值,以及插入verification points

Ⅰ.16.2 如何从一个断点开始记录

一些情况下,在已经存在的测试案例上进一步扩展很有用。但是从草稿脚本重新记录整个测试脚本容易让人厌烦,例如点击测试附加的按钮(大红圆点)。一个解决方法是简单的编辑测试脚本添加一些新的附加的行为。但是有时候在脚本中某个位置简单的记录额外的行为更简单一些。

只记录我们所需要的一部分也可以用于其他的脚本。一个普通的用例是,如果我们知道一个完整的测试组中的每个测试案例都必须总是以相同的方式执行一些AUT的初始化行为开始——例如,打开一个测试数据文件。我们只需要记录下这些行为并将它们记录在一个共享脚本中即可。然后对于每个新的测试案例,我们可以写一句加载共享脚本的语句即可——或者我们可以从一个已经写好代码的模板中创建测试脚本——然后从该位置开始记录脚本。

Squish's controlbar 窗口的 Stop Recording toolbar 按钮

通过在已存在的测试脚本中的某个位置设置断点使得在一个已经存在的测试中记录脚本成为可能,在设置断点的位置插入新记录的行为。一旦设置好断点执行测试—一运行到断点就停止运行。点击Run->Record Snippet(红色大圆点) 。这会使Squish在运行的AUT上开始记录。与AUT交互来执行新的actions,一旦完成,点击Squish的controlbar窗口的StopRecording按钮来停止记录。现在点击Resume 工具条按钮(或F8)或者终止工具条按钮(Ctrl-F2)。一旦完成脚本或者停止了,新记录的actions将被插入测试脚本中断点的位置。这时可以再次运行整个脚本,这次包含了新记录的actions。

Ⅰ.16.3 如何使用Spy

在该教程中我们了解了如何使用Squish spy插入verification points。有两种方法可用:

① 我们记录一个测试脚本,然后插入断点,然后运行测试脚本,在每个断点处添加verification。

② 我们可以记录一个测试脚本,在使用Insert Object Properties Verification PointInsert Screenshot Verification Point 时添加verification。

在任何情况下,当到达一个断点或者尝试插入一个verification时,Squish将会切换至Squish Spy Perspective,因此可以检查应用程序的对象以及它们的属性,并且可以插入所需的verification points。

可以独立的使用Spy(除了Web版的Squish)。只是简单的点击Launch AUT工具条按钮就可以启动AUT,切换Squish到Squish Spy Perspective。可以任意与AUT交互,在Application Objects窗口和和Properties窗口中可以查看在任意位置时当前应用程序的对象以及其对象的属性。(注意试了Web版的Squish时,你必须有一个打开一个URL的脚本。在 loadUrl 函数之后设置一个断点,执行测试脚本。当测试脚本停在该断点处时,你可以使用Spy。

Application Objects窗口中这些对象含有子属性,可以将它们展开以显示这些属性。也有一个context menu提供拷贝当前对象的symbolic name或者real(multi-property)name到剪贴板上:这有助于在写或者编辑测试脚本时引用对象。(一般的最好使用symbolic name)如果这么做,一定要确保第二次调用context menu并选择Add to Object Map 选项,这样Squish将会记住该对象,并在测试脚本中使用它的时候识别出它。

也有一个视图可以展示每个对象的方法:Methods 窗口。一般的,这些方法中的任意一个都可以用于测试脚本,例如测试一个特别的有期望值的widget。

当手写测试脚本时Spy特别有用,因为它可以用于找出AUT的对象的名字,并且能找出哪个属性是可访问的以及它们提供的方法。

快速定位Object Map

当你想找出许多对象的名字时,一个替代使用Spy工具的快速方法是创建一个dummy test。在这个测试中你必须与所有想在 测试脚本中使用的对象交互——这将使Squish为所有的对象添加记录到 Object Map中。然后可以拷贝和粘贴名字—— symbolic name更好——到所需的测试脚本中,然后删除这个dummy test。

当你开始监视一个AUT时,首先主窗口(或者第一个页面)以及所有的子对象展现在Application Objects 窗口中。如果弹出一个对话框,该对话框和其子对象都不会展示在Application Objects 窗口中。通过点击Application Objects 窗口的Refresh 工具条按钮就可以很容易的纠正。(你也可以在关闭对话框之后刷新以移除Application Objects 窗口中的对话框对象)

Spy (Squish Spy Perspective)有两个操作的模式:Normal(默认)和Pick。Normal模式已经足够了(连同使用Application Objects窗口的Refresh 工具条按钮)。然而,Squish也提供了Pick模式,该模式可以查看Application Objects窗口中一个特别的对象。

在输入Pick模式之前,与AUT交互使你所感兴趣的对象可见。然后点击Application Objects窗口的Pick 工具条按钮。这会将Squish转换成pick模式——Squish的主窗口将会消失,Control Bar Window将会出现。点击AUT的活动窗口使AUT获得焦点。在窗口上移动鼠标,每个对象将会被红色框框标记出来。另外,Squish以提示信息的形式展示标记出来的对象的real name。

一旦你所感兴趣的对象被标记出来,点击(或者双击,依据平台和设置而定)它来pick——这也将Spy返回到Normal模式。该对象将会作为唯一一条记录展示在Application Objects 窗口中,它的属性展示在Properties 窗口中。照旧可以使用context menu将它的名字拷贝到剪贴板上,并将它添加到Object Map中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值