• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

SilkTest入门快打系列7-异常处理

发布: 2011-3-28 09:42 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网

  SilkTest入门快打系列7-异常处理   软件测试

  今天是本教程的最后一讲,本来我是想多写几个主题的,比如数据库操作,测试计划测试用例,调用dll,tag和multitag的应用,web应用测试还有编程规范等等。可是,越到后面,我越觉得很多实例很难用文字描述清楚。抓图是一个可行的办法,可我又嫌麻烦,投入产出不成正比。最后决定只再介绍一下silktest的异常处理,希望能给初学者留下一个关于异常处理机制的印象,更多的内容,可能还是要靠大家自己在实践中学习和摸索。

  一般来说,异常处理是高级语言语法必备的一部分。你不必把它想的很神秘,它只是提供了一种机制让程序员有能力应对预期以外的状况发生。SilkTest作为一种高级的面向对象脚本语言,当然也提供了异常处理的方法。我在本讲只讲如何使用最常见的do…except结构来处理异常。

  上一讲中的testcase,一共做了两步,第一步点击数字键1然后打印结果框的值,第二步点击C键清零再打印结果框的值。如果你不小心少敲了第14行代码的话,你Cal.t代码应该如下:

  [-] winclass Calculator //1

  [ ] String sResult //2

  [-] Void ClearResult() //3

  [ ] 计算器.C.Click() //4

  [-] void GetResult() //5

  [ ] sResult = 计算器.CalResult.GetText() //6

  [-] Void ClickNum1() //7

  [ ] 计算器.N1.Click() //8

  [ ] window Calculator Cal //10

  [-] testcase CalSetAndClear() //11

  [ ] 计算器.SetActive() //12

  [ ] Cal.ClickNum1() //13

  [ ] //Cal.GetResult() //14,假设你注释了这行

  [ ] Print(Cal.sResult) //15

  [ ] Cal.ClearResult() //16

  [ ] Cal.GetResult() //17

  [ ] Print(Cal.sResult) //18

  你在运行时会报错如下:

  [ ] *** Error: Variable (sResult) has not been set

  [ ] Occurred in CalSetAndClear at Cal.t(15)

  报错的原因是,由于你没有调用Cal.GetResult(),所以导致Cal.sResult没有初始化,当SilkTest运行到第15行会认为这是一个严重的问题,就会抛出一个异常。而你的代码中没有异常处理结构,这个异常不会被捕获处理,系统默认行为就是终止case运行,然后打印相关的信息提醒用户。

  我们在入门快打2中也使用了抛出异常的函数raise,那是用户主动抛出通知系统的,而本讲中是系统抛出的。但是他们的结果都一样,如果没有被处理的话,该异常会导致SilkTest的退出。

  未被处理的异常有时候会是一个问题,想象一下,假设你的测试有100步,当测试运行到第10步时,突然测试脚本报一个异常(可能是待测软件的问题,可能是环境的问题,也可能是你编写的脚本的问题),你如果不处理,测试即时终止,那么其后的90步都无法运行。这很可能不是我们期望的结果。

  不要急,在这种情况下,你可以用do…except将可能出现异常的代码段封起来(具体哪些代码段可能出现异常,只能根据你靠经验来判断了),例如:

  view plaincopy to clipboardprint?

  01.Do

  02. OneObject.Click()

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网