设置断点是在WR代码编写和问题定位时经常用到的功能,这点我相信大家都应该知道。常用的设置断点的方法很简单,是在脚本相应的行数前单击鼠标右键,但是这里我分享几个设置断点的小技巧,帮助大家更加方便的完成调试。

  其实WR有3中断点设置的方式。分别为:1、At Location  2、In Function 3、Conditional。大家可以打开“Breakpoints List”(Debug->Breakpoints List)列表,单击新增按钮来查看设置这几种断点的界面。下面简单介绍下3种断点的区别。

  1、At Location,即单击鼠标右键来设置断点的方法。通过设置断点所在位置来增加断点,设置界面上有个Pass Count,意思为跳过该断点的次数,该值默认为0。具体含义可以参考以下实例:

i = 0;
   j = 0;
 
   for(i = 0;i < 10;i++)
   {
 *     j = i;
   }

  * 位置表示断点位置,如果Pass Count不设置(即默认为0),则每次运行该处都会触发断点。

  如果Pass Count设置为2,那么在 i = 2,5,8 的时候触发断点。

  2、In Function,在运行到指定的用户自定义函数的时候触发断点。通过自定义函数名称来触发,断点位置为函数定义的所在行。需要注意这个函数必须是定义在Compiled Module类型(例如自动化框架中的PublicFunction、MyFunction中定义的函数)的测试脚本中,并且预先通过Load加载过的。

  3、Conditional,通过预设的条件触发断点。这个方法比较有用,以上面的代码为例,可以设置条件为 i > 5 ,当运行到 i = 6,7,8,9 时触发断点。这类断点的毛病是,触发断点之后的每行代码都会给出一个提示,其实可以触发断点后删除该断点,那个烦人的提示马上消失。需要注意的是,千万不要用赋值的方式设置条件(比如 i = 5),必须用条件判断方式设置断点(比如:i == 5)。

  以上所有技巧可以参考Mercury WinRunner User’s Guide,里面有详细的说明。