51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2637|回复: 4
打印 上一主题 下一主题

[求助] 在对象库中使用正则表达式,识别时能够关联到多个对象么?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-8-6 10:53:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚才改进了一下以前写的一些代码,发现了如标题所示的一些问题。
我们做的页面上现在多了个功能,就是在一个textbox里输入以特定数字开头的number,比如992XXX,这时候系统会自动在表格的下一列弹出N个textbox(也就是QTP里的webedit)。
我使用的是在对象库中添加正则表达式的方式来识别新弹出的textbox,因为用户可能添加多个row,因此可能会多次弹出textbox。用正则的话正好可以进行动态匹配。
但是弹出的textbox数量也是可以配置的,也就是说可以配置成弹出3个,也可以配置成弹出2个。
为了能够更加动态的捕获弹出对象,我将正则表达式又改进了下,现在出现的问题是改进了的正则表达式一次会识别到不止一个的对象上面去....
我开始使用 set obj = browser().page().frame().webedit().object 的方法来捕获对象,但是QTP提示一次匹配不止一个的对象。
难道在qtp中,如果对象库采用正则表达式描述,系统不会返回所有与正则相匹配的对象集合吗,也就是返回一个obj得collection?在对象库识别的时候一次只能返回1个对象?不能返回集合?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-8-6 10:56:35 | 只看该作者
另外又想到一个问题,
假如我使用object属性去捕获对象,则下面语句支不支持正则表达式呢?
set obj = browser().page().frame().object.getElementById(“正则表达式”)

刚又想了想,这个问题似乎没意义了。由于id是唯一的,所以getElementById只能返回1个对象,并不能返回集合。

[ 本帖最后由 nbkhic 于 2009-8-6 11:06 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-8-6 15:16:04 | 只看该作者
自问自答很好!很好!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-8-7 09:50:08 | 只看该作者
set obj = browser().page().frame().webedit().object 的方法来捕获对象

你这个理解错误了,你去查看下帮助里面的childobjects方法就知道了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-8-7 10:02:56 | 只看该作者
楼上高见。
已经用descritption中的正则表达式方法解决了。
获取父对象也就是webtable中所有micClass为webedit,html id 为“正则表达式”的webedit对象,用的就是childObjects方法,呵呵。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-22 02:38 , Processed in 0.065833 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表