51Testing软件测试论坛

标题: Windows 对象内容的变化处理 [打印本页]

作者: zhouchiyi    时间: 2010-7-5 11:15
标题: Windows 对象内容的变化处理
在QTP脚本中,windows对象的内容是变化的,如:

Window("ABC  TIME").Activate
Window("ABC 无名氏 TIME").Activate
Window("ABC user1 TIME").Activate

其中,ABC是常量, user1是变量,而且有部分代码里面是没有这部分的,而TIME也是一个变量, 该怎么处理他们才能全部匹配,我考虑用正则表达式,但是当我用 "ABC.*"表示又不行.
作者: hsjzfling    时间: 2010-7-5 11:27
对Window对象的regexpwndtitle属性值使用正则表达式是应该没问题的

LZ可以描述下你是如何使用正则表达式的,怎么个不行法
作者: zhouchiyi    时间: 2010-7-5 12:05
就是简单的设置一个参数,如
Dim titlename
titlename="ABC.*"
然后将title取代windows 对象,变成
Window(titlename)...
这里是不是不能直接这样表示?
作者: TIB    时间: 2010-7-5 17:09
Dim titlename
titlename="ABC.*"
Window("text:=" & titlename).Activate

[ 本帖最后由 TIB 于 2010-7-5 17:11 编辑 ]
作者: kettleyang    时间: 2010-7-5 18:07
Window(titlename)  里面的 titlename 相当于 identifier, 前面带了GUI类型信息,不是静态文本属性
作者: zhouchiyi    时间: 2010-7-5 18:42
标题: 回复 4# 的帖子
根据4楼的建议,发现可以识别window对象了,但是又有了一个新的问题,就是当window属性后面还有其他属性的时候,没法找到后面属性的对像,
如:
Window("text:=" & titlename).Dialog("username").Activate的时候,他会报如下错误:
The "username"  object was not found in the Object Repository.
Check the Object Repository to confirm that the object exists or to find the correct name for the object.
而用Window(titlename).Dialog("username").Activate的时候,报的错误则是:
The "ABC.*" Window object was not found in the Object Repository.
Check the Object Repository to confirm that the object exists or to find the correct name for the object
作者: TIB    时间: 2010-7-5 21:27
描述性编程的后续强迫性,后面的对象也要描述才行
作者: hanjj    时间: 2010-7-6 09:48
描述性编程,父对象是描述性编程的,子对象一定要描述性编程.不然无法识别.
作者: zhouchiyi    时间: 2010-7-6 10:21
在用描述性编程的时候, SetSelection该怎么处理呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2