对于用户最重要的问题就是在写脚本时如何访问对象,可以通过waitForObject函数,该函数等待对象可见并且可用时返回一个它的引用;如果对象不可见,那就要用到findObject函数,它不用等待。这两个函数都是获取对象的名字,但是获取正确的对象是不容易的,所以下面就阐述一下这个问题及解决方法。
Squish支持4种不同的命名方法:symbolic names、real names(也即 multi-property names)、qualified names、hierarchical names。
symbolic names: 当记录脚本时用到(除了Tk AUTs,它用的是qualified names),或者手写代码时
qualified names :用于Tk AUTs
real names :手写代码时
hierarchical names :支持向后兼容,在新的测试中不应该使用
最好使用synbolic names,尽管出于某些目的使用real names更合适
1. 如何访问已命名的对象
最容易的情形是程序员已经显式的定义了对象的名字。例如,使用Qt toolkit,可以这样定义object name:
cashWidget->setObjectName("CashWidget")
当用这种方式给对象命名时,我们可以用一个real name来指定两个属性:对象的类型和它的名字。下面是脚本语言中使用waitForObject如何访问label cashWidget的方法:
cashWidget=waitForObj