我正在使用UFT和VBS,我从JavaScript命令中获取一个返回其他对象的对象,但我无法访问这些对象属性。
详细说明:
SlickGrid
表中所有数据的命令。命令为grid.getData();
并返回一个对象。objListArray
,层次结构为:objListArray (Object) | |---0 (Object) | | | |---Property1 : Value | |---Property2 : Value | |---Propertyx : Value | |---1 (Object) | | | |---Property1 : Value | |---Property2 : Value | |---Propertyx : Value | |---2 (Object) | | | |---Property1 : Value | |---Property2 : Value | |---Propertyx : Value | |---n (Object) | |---Property1 : Value |---Property2 : Value |---Propertyx : Value
无论我尝试什么,我都无法访问对象的属性。 我有什么想法可以访问这些属性?我仅限于VBS,因为这是UFT脚本。
到目前为止,我尝试过没有成功:
objListArray(0).Property1 '--> Generic error
For Each x in objListArray '--> Object does not support that
返回一般错误的各种其他组合。
答案 0 :(得分:1)
在UFT中访问JavaScript数组时出现问题,请参阅my answer to another such question。
我似乎记得UFT已经自己解决了问题,所以尝试使用.item
,如果这不起作用,你可以尝试我前面提到的答案的建议。
答案 1 :(得分:1)
我意识到该对象的类型为JScriptTypeInfo
为了访问它,我可以使用下面的文字:
objListArray.[0].Property1
现在,要迭代对象,你可以这样做:
For i = 0 To objListArray.Length-1
x = eval("objListArray.[" & index & "].[Account Number]")
'Do anything you want with x
Next
答案 2 :(得分:0)
我认为它可能是字典对象的集合(字典中的字典)。
尝试以这种方式访问。
objListArray(0)("Property1")
或者
objListArray(0).Item("Property1")