1

Webサービステストフレームワークを構築しています。私は(プロではなく)soapuiを使用して統合テストを行っています。テストランナーを実行するantスクリプトがあります。これは私のテストランナーがどのように見えるかです:

public class GatewayIntegrationTestRunner {

    JUnitReportCollector collector = new JUnitReportCollector();
    String path = "D:/DATA/Gateway/GWIntegrationTest_soapUI/GWIntegrationTestWksp/gateway-integration-test/src/META-INF/junit-style-test-report/html";

    @Test
    public void runGatewayIntegrationTests() throws Exception {

        SoapUITestCaseRunner  runner = new SoapUITestCaseRunner ();
        runner.setProjectFile("D:/DATA/Gateway/GWIntegrationTest_soapUI/GWIntTestStdProject/Liberate-Gateway-std-project-soapui-project.xml");

        runner.getTestCase();
        runner.setOutputFolder(path);
        runner.setJUnitReport(true);

        runner.run();
        runner.exportJUnitReports(collector, path, new WsdlProject());
        runner.printReport(0);
    }
}

テストランナーは、soap uiプロジェクトのxmlをロードし、soapuiプロジェクトで空間化されたテストを実行します。私の要件は、異なるポイントで同じAPIに異なるリクエストパラメータを指定することです。以前、Javaで統合テストを行っていたとき、これらの要求パラメーターをxmlファイルで指定していました。どうすればsoapuiでこれを達成できますか?私はsoapuiでプロパティとプロパティ転送を操作しようとしましたが、あまり達成されませんでした。アプリケーションがデプロイされている場所に応じて、リクエストデータを変更したいのですが、xmlファイルまたはプロパティファイルから取得する場合があります。どうすればsoapuiでそれを達成できますか?前もって感謝します。

4

1 に答える 1

1

SOAPUIで、APIを定義するときは、次のようにしてみてください。

リソースAPIGET(https:// your_host / Username)があるとします

上記のリソースを次のように変更することで、テストケースレベルでUsenameの値を変更できます。

(https:// your_host / $ {#TestCase#Username})

それが完了したら、上記のリソースのテストケースを作成し、(テストケースをダブルクリック)または右クリックしてテストエディターを表示します。

ウィンドウが表示されたら、(セットアップスクリプト)というボタンをクリックして、次のボタンをボックスにコピーします。

def username = "John"
testRunner.testCase.setPropertyValue('Username'、 "$ {username}")

次に、ボックスの上にある小さな緑色の再生記号をクリックし、(セットアップスクリプト)の横にある(プロパティ)に切り替えます。[名前]の下に[ユーザー名]、[値]の下に[ジョン]が表示されます。

これは、ユーザー名としてJohnの値を使用してそのテストケースに対して実行されます。

ここで行う必要があるのは、テストケースを複製し(右クリックしてTestCaseのクローンを作成)、usernameの値を別の値に変更することです。

def username = "Chris"
testRunner.testCase.setPropertyValue('Username'、 "$ {username}")

上記がお役に立てば幸いです。それがあなたが望んでいたことです。

于 2012-12-13T14:51:51.257 に答える