2017-08-10 78 views
1

我想獲取一個對象的文本屬性。在這種情況下,我採取了記事本,並試圖通過下面的代碼片段獲取屬性。但我的問題是我能夠獲得所有的屬性,包括屬性的值是一個對象。我可以如何限制相同?如何僅獲取測試對象中的文本屬性?

片段去如下:

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 

回答

2

您可以檢查使用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 –