1

多くのサブルーチンと関数を含む qtp スクリプトがあります。アプリケーションのテストを自動化しています。アプリケーションは、異なるデータ セットに対して複数回テストする必要があります。現在、スクリプトは最初のデータ セットを読み取り、スクリプトが実行されるまで続行します。スクリプトが最後まで到達すると、スクリプトがスクリプトの先頭に戻ることは何も考えられません。すべてがメインメソッドの下にあれば簡単です。スクリプトの上から下に実行される複数のサブルーチンと関数だけの main メソッドはありません。

4

3 に答える 3

0

テストをデータ駆動しようとしているかのように聞こえます。データ テーブルに複数の行がある場合は、データ テーブルの各行に対してアクション (またはテスト全体) を実行するように QTP に指示できます。

テストでこれを行うには、テスト フローでテストを右クリックし、設定を選択して [すべての行で実行] ラジオ ボタンを選択します。

テスト反復の設定 アクションでこれと同等の場合は、右クリック - >アクション呼び出しのプロパティ。

于 2013-02-03T13:39:32.683 に答える
0

私は通常、次のようなスクリプトを使用します。

Option Explicit : main

Sub main()
    Do
        ' This initializes a test for me. The test resides in an
        ' homebrew AutomatedTest object     
        Set automatedTest = [new AutomatedTest]
        automatedTest.Project = "XYZ"
        automatedTest.PickupFolder = "C:\TestScenarios\"
        automatedTest.Initialize

        ' This line starts my test
        automatedTest.Start

        Set automatedTest = Nothing

    Loop Until (CreateObject("WScript.Shell").Popup("Next file will be executed in 10 seconds." & vbNewLine & _
            "Press OK to execute immediately or Cancel to stop Autorun.", 10, "Autorun", 1 or 32 or 4096) = 2)  '2 = cancel
End sub

どのように実装したいか、自分でわかるように、Do/Loopアクションは継続ループを提供しますが、WshShell.Popupはテスト間でキャンセルし、一定時間後にアクションが実行されなかった場合に続行する方法を提供します。これは、テストを無人で実行したい場合に便利です。

于 2013-02-04T10:40:36.550 に答える
0

1.テスト->設定->実行ですべての行オプションを実行するか、または2.テストで、

以下のコードを追加 totalrows=Datatable.getrowcount

for row=1 to totalrows //テストコード全体

于 2013-02-07T22:46:38.060 に答える