这可能是不言自明的,但我真的不明白。
如果我尝试直接使用 ArrayList 中的值,使用 QTP 的 LoadAndRun 函数,它不起作用。但是,如果我首先将 ArrayList 中的值复制到变量中,那么它就可以工作。
这有效:
test1 = testActionArray(1)(0)
test2 = testActionArray(1)(1)
LoadAndRunAction "C:\share\Test Automation\Flight Reservation Application\UFT Tests\" &
test1,test2, oneIteration
但这不起作用:
LoadAndRunAction "C:\share\Test Automation\Flight Reservation Application\UFT Tests\" &
testActionArray(1)(0),testActionArray(1)(1), oneIteration
为什么?
它完全破坏了我的代码的动态性。
更新:我刚刚发现这有效:
LoadAndRunAction "C:\share\Test Automation\Flight Reservation Application\UFT Tests\" &
testActionArray(1)(0),test2, oneIteration
因此,我可以直接访问第一个参数的数组列表,但不能访问第二个参数。这越来越奇怪了。
更新:
一点调试,正如...所建议的那样
MsgBox "1-0: " & testCaseList(y)(z)(0) & " [" & TypeName(testCaseList(y)(z)(0)) & "]"
MsgBox "1-1: " & testCaseList(y)(z)(1) & " [" & TypeName(testCaseList(y)(z)(1)) & "]"
这产生:
1-0: Open_Close[Range]
1-1: CloseAllInstnces[Range]
就可以看出,这些值绝对 100% 正确。如果我只是硬编码 1-1,它工作正常。或者,如前所述,在使用之前将其复制到变量中。