51Testing软件测试论坛
标题:
在对象库中使用正则表达式,识别时能够关联到多个对象么?
[打印本页]
作者:
nbkhic
时间:
2009-8-6 10:53
标题:
在对象库中使用正则表达式,识别时能够关联到多个对象么?
刚才改进了一下以前写的一些代码,发现了如标题所示的一些问题。
我们做的页面上现在多了个功能,就是在一个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个对象?不能返回集合?
作者:
nbkhic
时间:
2009-8-6 10:56
另外又想到一个问题,
假如我使用object属性去捕获对象,则下面语句支不支持正则表达式呢?
set obj = browser().page().frame().object.getElementById(“正则表达式”)
刚又想了想,这个问题似乎没意义了。由于id是唯一的,所以getElementById只能返回1个对象,并不能返回集合。
[
本帖最后由 nbkhic 于 2009-8-6 11:06 编辑
]
作者:
lvguobin
时间:
2009-8-6 15:16
自问自答很好!很好!
作者:
blueeagle9999
时间:
2009-8-7 09:50
set obj = browser().page().frame().webedit().object 的方法来捕获对象
你这个理解错误了,你去查看下帮助里面的childobjects方法就知道了。
作者:
nbkhic
时间:
2009-8-7 10:02
楼上高见。
已经用descritption中的正则表达式方法解决了。
获取父对象也就是webtable中所有micClass为webedit,html id 为“正则表达式”的webedit对象,用的就是childObjects方法,呵呵。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2