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

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

新一篇: Silktest天天学系列7-Raise和Reraise

发布: 2008-5-06 17:41 | 作者: Zeng YueTian | 来源: Zeng YueTian博客 | 查看: 129次 | 进入软件测试论坛讨论

领测软件测试网 作者Zeng YueTian,转载请注明出处http://blog.csdn.net/yuetiantian/
      
       上一节我们介绍了tag和multitag的概述和它们二者之间的差别,以及在某些特殊情况下选择tag的方法。这一节将介绍tag和multitag的其他方面的知识。
       在tag中,我们会经常用到以下的一些句法元素,它们可以使我们指定tag时更加灵活方便。
      
句法元素
用处
/
分割双亲和孩子对象
[ ]
为类或者是GUI对象实例定界
..
指定Agent将在tag中使用子对象的双亲
~ActiveApp
指定一个对象的上级双亲当前处于激活态对象。(不要在silktestBean将使用的任何window的声明中使用~ActiveApp)
*
在一个main window的caption里面代表动态字符串(例如,文件名)
|
分割多重tag的不同节
~
强迫silktest去检查一个多重tag的下一级。用来关联|元素。没有~的时候,silktest仅仅评估multitag中的第一节内容。
 
我们还可以在GUI对象的tag字符串中使用双亲标识符,并且用/进行分割,例如:
multitag "parent/tag1"
          "tag2"
这种表示法与
multitag "parent/tag1"
          "parent/tag2"
的作用相同,所以你不用为每个tag都指定一次parent,不过需要注意的是如果你指定了多个tag的双亲标识符,它们必须保持一致,否则将会报错。
和上节提到的一样,你可以使用管道符号|来分割多个tag节,例如
tag "Case sensitive|$1041"等价于
multitag "Case sensitive"
          "$1041"
这样在你有多个tag节的时候,使用|管道符号可以使你的tag更加易读。
那么在运行时,多重tag是如何被决断的呢?
在运行时,Agent会从左到右来评估每个tag节,直到它找到一个唯一匹配的。当决断tag时如果出现了一个错误的话,silktest将会抛出一个一场,并且进程将被停止-除非该错误是Window Not Found或者是Window Not Unique(在这两种情形下,Agent将会继续评估其他的tag节)。下面是一些例子:
Tag
运行时会发生的情况
“#xyz|MyWin”
一个语法错误结果,因为#xyz是不合法的tag。所以MyWin将永远不被评估
“Yes|OK”
如果Yes和OK都存在并且唯一的话,Yes会被使用
“Yes|OK”
如果只有OK存在,OK将被使用
“Yes|OK”
如果Yes和OK都存在,但是Yes不唯一的话,OK将被使用
 
注意:默认情况下,管道符号|只检查tag中的第一个节,而忽略剩下的节。不过,如果你在GUI对象前面放一个tag符号~,silktest的tag决断机制被强迫检查第一个和其后的节,这在一个对象拥有多个双亲的情形下很有用处。
例如,假设你在表格中间有一个链接,但是这个链接可能出现在列1和列2中。
1.       如果你的tag管道符像下面这样使用:
[HtmlTable]#1/[HtmlColumn]Column 1|Column 2/[HtmlLink]Click Here
那么silktest会查找[HtmlColumn]Column 1,找到它,然后在这列中查找HtmlLink,如果该链接在其他任何一列,silktest都不会找到,因为它将不会在[HtmlColumn]Column 1以外进行查找。你会得到一个Window Not Found的错误。
2.       然而,如果你的tag管道符号像下面这样使用:
[HtmlTable]#1/~/[HtmlColumn]Column 1|Column 2/[HtmlLink]Click Here
那么silktest将会查找每一个列,直到它找到该链接。
      
       最后,再介绍一下全完全window tag句法,该句法用来明确地唯一识别一个GUI对象,它由该对象的tag以及它的所有祖先的tag串接而成,这样Agent就可以用它来区分一个对话框中OK按钮和另一个对话框中的OK按钮。

延伸阅读

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

TAG: silktest SilkTest SilKtest Silktest Reraise


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

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