0

testng を使用して Web アプリケーションをテストするために、いくつかのテスト クラスを作成しました。すべてのテスト クラスは独立しています (私は Java、maven、およびセレン Web ドライバーを使用しています)

以下のように、testng.xml でテスト クラスとテスト グループを定義しました。

<test name="generalTest">
        <groups>
            <run>
                <include name="login"  />
                <include name="signUp"  />
                <include name="profileCreation"  />

            </run>
        </groups>

        <classes>
            <class name="my.test.Test_1_LoginTestCases"/>
            <class name="my.test.Test_2_SignUpTestCases"/>
            <class name="my.test.Test_3_CreatePeopleProfileTestCases"/>

        </classes>
    </test>

コマンド ラインでこのコマンドを実行して、テスト クラスを実行します。

mvn test -DsuiteXmlFile=/src/testng.xml -Dgroups=login,signUp,profileCreation

また、testng の「priority」タグを使用して、テスト クラス内でテスト ケースを実行する順序を定義しました。

しかし、問題は、上記のコマンドを使用して testng.xml を実行すると、すべてのテスト クラスが同時に (並行して) 実行されることです。10 個のテスト クラスがある場合は、10 個の Web ブラウザー インスタンスを同時に開き、すべてのテスト クラスを同時に実行しようとします。

必要なのは、最初のテスト クラスを実行し、それが完了したら、上記の maven コマンドを使用して 2 番目のテスト クラスの実行を開始することです。

誰でもこれを行うのを手伝ってもらえますか? 本当に助かります。

4

2 に答える 2

2

次のように、xml に属性 parallel="false" を追加するだけです。

<test name="generalTest" parallel="false">
于 2012-11-20T04:59:13.760 に答える
0

私は問題を解決しました!:) すべてのテストクラスに同じ優先度範囲を設定しました。例:すべてのテストクラスで優先度1を設定しました。次に、優先度1のテストケースを同時に実行しようとします。

修理:

テストスイート全体を実行するために必要な順序に従って、すべてのテストクラス内で異なる優先度範囲を使用します。例 : 最初のテスト クラスを実行し、それが完了したら 2 番目のテスト クラスを実行する必要があるため、最初のテスト クラスの優先度範囲を 1 から 50 に設定し、

于 2012-11-21T05:23:50.190 に答える