iov_cp 发表于 2009-5-19 10:29:03

疯了!!! QTP的对象库中如何能不区分大小写???

项目紧,被这个情况弄死了...
环境:XPP,Vista,QTP9.5
情况: 每个被录制的窗口是英文的,有时候名字会有大小写变化,或者个别单词变化
我在对象库中更改属性为'使用正则表达式',但是在对象库中不能使用ignoreCase来忽略大小写的,按照google中1个文章的说法,各个语言都似乎有自己的忽略大小写的方式.
比如vbscript可用ignoreCase,用在regular对象上.而部分语言能在正则表达式开头加(?i),这个方法我尝试了无效.
我搜索了help文档也没能找到方法

有那位解决了这个问题的??指教啊

[ 本帖最后由 iov_cp 于 2009-5-19 10:49 编辑 ]

fei.ge 发表于 2009-5-19 11:21:41

关注

iov_cp 发表于 2009-5-19 11:37:49

难道是我自己正则表达式写出问题了?

窗口名字可能性
1. Create Rescue Media
2.Create rescue media
3. Create Rexxx and Recovery Media
窗口下还有OK,名字也可能变
1. OK
2. &OK
我在窗口对象的正则表达式中写:(Create Rescue and Recovery Media | Create rescue media)
如果出来的是 Create rescue media,
则   IFNot Dialog("Create rescue media").Exist Then
            ExitTest
      END IF
每次都会退出.
该写成(Create rescue media)就不会出错了

点OK也怪,我改写OK的属性为正则表达式 .?OK
则无论如何不能 WinButton("OK").Click

[ 本帖最后由 iov_cp 于 2009-5-19 11:39 编辑 ]

iov_cp 发表于 2009-5-19 13:34:00

稍微调整了一下,通过了

先后会出现: Create Rescue and Recovery Media和 Create Rescue Media两个窗口
我在第一个窗口的text属性中修改
用下面几个正则表达式都不能控制第二个
1. Create Rescue and Recovery Media | Create Rescue Media
2.(Create Rescue and Recovery Media | Create Rescue Media)
3. (Create Rescue and Recovery Media) | (Create Rescue Media)
4. (.*Create Rescue and Recovery Media.*) | (.*Create Rescue Media.*)
最后实在没则,换成Create Rescue .* Media去处理, 就可以控制第二个窗口了
白思不得其解

fei.ge 发表于 2009-5-20 10:56:27

再问个问题:

如果我的窗口,名字随便取什么,例如:Browser

假设每次运行的时候我的窗口名字的大小写都会变,有可能为bRowser或BROwser或browSER........

那么如果遇到这种情况,我们该怎么办呢?
页: [1]
查看完整版本: 疯了!!! QTP的对象库中如何能不区分大小写???