如何仅获取测试对象中的文本属性?

问题描述:

我想获取一个对象的文本属性。在这种情况下,我采取了记事本,并试图通过下面的代码片段获取属性。但我的问题是我能够获得所有的属性,包括属性的值是一个对象。我可以如何限制相同?如何仅获取测试对象中的文本属性?

片段去如下:

Public Function Object_getObjectProperties(oInteraction) 
    Set props = aqObject.GetProperties(oInteraction.guiObject, false) 
    sProperties = "" 
    While props.HasNext 
    Set prop = props.Next 
    If(sProperties<>"") Then 
    sProperties = sProperties + INSTRUCTION_VALUE_SEPARATOR + prop.Name 
    Else 
    sProperties = prop.name 
    End If 
    Wend 
    Object_getObjectProperties = sProperties 
End Function 

您可以检查使用GetVarType方法属性值的类型。 但是,在脚本中获取对象属性的任务并不常见。可能,您拥有的实际基线任务可以通过更好的方式解决。

+0

这是工作的所有情况除了一个,其中我的属性是PopupMenu和它的值是一个空对象,所以当我尝试调用aqObject.GetVarType(属性的值)显示-Pop up无法获得,可能的原因:没有点击调用弹出式菜单。 我已经把这样一个检查点: 如果(aqObject.GetVarType(prop.value) 9)然后 “不要将它们包括在我的列表中”,这里9是对象的返回码。 –

+0

我想出了一种方法来解决这个问题。而不是GetVarType我使用Object.ValueType来获取属性的数据类型。所以为了从我的属性列表中筛选出对象,我正在验证它与一个具有整数这样的值为9。 If(prop.ValueType 9)Then 如果不是9,则添加属性。 解决问题的方法是否正确?我参考了上面提出的解决方案的链接。 https://support.smartbear.com/testcomplete/docs/reference/program-objects/aqobjproperty/valuetype.html –