2

これは自明かもしれませんが、私は本当に理解していません。

QTP の LoadAndRun 関数を使用して ArrayList の値を直接使用しようとすると、機能しません。ただし、最初に 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

したがって、最初の引数については arraylist に直接アクセスできますが、2 番目の引数についてはアクセスできません。これはますます奇妙になっています。

アップデート:

提案されているように、少しデバッグします...

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 をハードコーディングするだけで問題なく動作します。または、既に述べたように、使用する前に変数にコピーします。

4

2 に答える 2

1

これを試して:-

LoadAndRunAction "C:\share\Test Automation\Flight Reservation Application\UFT Tests\" & eval(testActionArray(1)(0)),eval(testActionArray(1)(1)), oneIteration

于 2013-11-13T07:15:40.690 に答える