2

我如何在不迭代的情况下,即使用.ChildObjects- 将所有测试对象与数字属性中的任何非零值匹配?

包含的问题:我可以使用正则表达式匹配来匹配包含 a 的属性值number(即,为此属性的 getROProperty 值VarType返回 3 ( ))使用正则表达式匹配吗?vbLong我不这么认为。

例如:

Dim Descr: Descr=Description.Create
Descr ("micclass").Value="WebElement"
Descr ("height").Value=11

匹配我的 Web 应用程序中的一些控件,即Page.ChildObjects (Descr).Count > 0.

但是将其分配11为字符串,即将高度线更改为:

Descr ("height").Value="11"

匹配零控件。

这非常糟糕,因为因此,我无法查找height不等于 0 的测试对象。这正是我所需要的。

我会用

Descr ("height").Value="^[1-9][0-9]*$"
Descr ("height").RegularExpression=true

搜索具有非零height值的所有实例,但由于字符串搜索不匹配,因此正则表达式匹配也不起作用。(事实上​​,它确实没有)。

4

1 回答 1

2

众所周知,整数类型必须在描述中作为整数传递,不幸的是,正则表达式的使用无用。

我现在手头没有 QTP 安装,但是为了进一步调查,如果你使用会发生什么

Print Browser("myBrowser").WebElement("height:=11").ChildObjects.Count

Print Browser("myBrowser").WebElement("height:=^[1-9][0-9]*$").ChildObjects.Count

"myBrowser"当然,您的浏览器定义在哪里。

于 2013-09-06T12:08:03.987 回答