|
通过查看帮助,可知
.\解释是A dot-backslash ( .\ ) represents the current context window.
CurrentWindow 的解释是 is a recMethod value that specifies the currently active window as the window object to access or to set as the current context window.
可见这两者是有区别的.
Context notation is recMethod argument syntax that defines hierarchical relationships between objects. 说明这是用来区分控件的层次结构的。比如对于网页有框架结构的话,可以通过.\等符号确定该控件是属于哪一个层次。
而CurrentWindow是用来区分当前的活动窗口的。对于弹出的窗口,它是活动窗口,所以用该语句可以使焦点确定在该窗口上的。
对于弹出的窗口,如果没有使用Window SetContext将焦点定在当前的活动窗口上,则用SQAGetProperty(".\","Recognition",value)抓出来的还是在之前层次架构下的。而用SQAGetProperty("CurrentWindow","Recognition",value)则是抓取当前活动窗口的属性。
关于Recognition
一共分为Recognition, ParentRecognition, FullRecognition
1. To find the recognition method of the currently active window:
Result=SQAGetProperty(".\","Recognition",value)
Returned value:
Type=Window;Name=frmMain
抓出来的是当前窗口的一些信息
2. To find the immediate parent of the tree view item Bach:
Result=SQAGetProperty("Name=treMain;\;ItemText=Bach","ParentRecognition",value)
Returned value:
Type=TreeView;Name=treMain
抓出来的是树型结构的父结点的信息
3. To find the complete object path of the tree view item Bach, beginning with the desktop and ending with the target object itself:
Result=SQAGetProperty("Name=treMain;\;ItemText=Bach","FullRecognition",value)
Returned value:
Type=Window;Name=frmMain;\;Type=TreeView;Name=treMain;\;Type=TVItem;ItemText=Bach
抓出来的是树型结构中指向该控件的全部路径
由此可见从这些抓出来的信息中,并不能完全确定该项是否是自己所需要的。比如判断弹出的窗口,一些正确的信息和一些警告信息,说不定都是同一个Caption。所以用Recognition并不能很好的判断。因此可以用SQAGetProperty抓取对话框里的语句来确定该窗口是否是自己所需要的。
具体的方法可见在51testing的杂志第二期上我的一篇《关于SQAGetProperty的使用》。
欢迎讨论 |
|