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

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

SilkTest天龙八部系列1-初始化和构造函数

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

领测软件测试网

  SilkTest天龙八部系列1-初始化和构造函数 软件测试

  SilkTest没有提供专门的构造函数机制,但是在类对象生成的过程中,会先初始化在类中申明的变量。我们可以在初始化该变量的时,

  调用某些函数完成对象初始化工作,看上去好像是调用了构造函数一样。不过要记住的是,这只是用来模拟构造函数而已。

  下面是一个例子:view plaincopy to clipboardprint?01.[-] winclass myClass 02. [ ] boolean bConstructed = Constructor (SubStr (WindowTag(this), 2)) 03. [ ] string sSetMe 04. [ ] integer i 05. [ ] 06. [-] boolean Constructor (string sConstructorData) 07. [-] if (!IsSet(bConstructed)) 08. [ ] sSetMe = sConstructorData 09. [ ] return true 10. [ ] 11. [-] property SetMe 12. [-] string Get() 13. [ ] return sSetMe 14.[ ] 15.[ ] // test that the myClass constructor works 16.[-] testcase testClass () appstate none 17. [ ] window myObject = myClass ("Set property") 18. [ ] print(WindowTag(myObject)) 19. [ ] print ("myObject.SetMe = {myObject.SetMe}") 20. [ ] print ("myObject.i = {myObject.i}") [-] winclass myClass

  [ ] boolean bConstructed = Constructor (SubStr (WindowTag(this), 2))

  [ ] string sSetMe

  [ ] integer i

  [ ]

  [-] boolean Constructor (string sConstructorData)

  [-] if (!IsSet(bConstructed))

  [ ] sSetMe = sConstructorData

  [ ] return true

  [ ]

  [-] property SetMe

  [-] string Get()

  [ ] return sSetMe

  [ ]

  [ ] // test that the myClass constructor works

  [-] testcase testClass () appstate none

  [ ] window myObject = myClass ("Set property")

  [ ] print(WindowTag(myObject))

  [ ] print ("myObject.SetMe = {myObject.SetMe}")

  [ ] print ("myObject.i = {myObject.i}")

  我们来分析一下这段代码。

  一开始声明了一个myClass类,他有三个变量,其中bConstructed的初始化调用了类的一个成员函数Constructor(),这个函数其实

  可以叫任何名字。所以,window myObject = myClass ("Set property")这句直接会导致

  成员函数Constructor()被调用。那么,为什么要给该函数传一个参数SubStr (WindowTag(this), 2)进去呢,这需要了解一下

  WindowTag()的意义,WindowTag()会返回对象的tag,而不管该对象是否存在。一般的Tag都是以斜线/开头的,

  window myObject = myClass ("Set property")这句的意思你就可以理解为(其实这不太容易理解,没办法,4Test当初就是这么设计的)

  获取对象"Set property"的Tag,它的Tag就是"/Set property"。所以在初始化bConstructed的过程中,同时初始化了成员变量

  bConstructed,而成员变量i并没有被初始化,所以当你运行整个脚本的时候,会得到如下的输出:

  view plaincopy to clipboardprint?01.[-] Testcase testClass - 1 error 02. [ ] /Set property 03. [ ] myObject.SetMe = Set property 04. [ ] *** Error: Variable (i) has not been set 05. [ ] Occurred in testClass at test3.t(20)

延伸阅读

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

TAG: 天龙八部


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

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