Web サービスをテストする

  1. Silk Performer .NET プロジェクトを作成します。 Silk Performer (プロジェクト タイプ:Web サービス/.NET) からプロジェクトを作成するか、Visual Studio .NET から Silk Performer プロジェクト ウィザードを起動して (ファイル > 新規作成 > プロジェクト)、新しい .NET プロジェクトを作成します。
  2. Web サービス クライアント プロキシを作成します。 Visual Studio .NET の Web サービス クライアント プロキシ ウィザードを使用して、クライアント プロキシ クラスを生成します。
    1. Add Web Reference を呼び出します。
    2. アドレス フィールドに Web サービスの URL を挿入します。
    3. 参照の追加 をクリックします。 Web サービス名を使用して、プロキシ クラスが生成されます。 名前空間は、サービスがホストされている Web サーバー名になります。 たとえば、URL が http://localhost/MyWebService/Service1.asmx の場合、プロキシ クラスの完全名は localhost.Service1 になります。
  3. Web サービス呼び出しをコーディングします。 プロキシ クラスのオブジェクトをインスタンス化し、いずれかのトランザクションで呼び出しを行います。 プロキシをテスト クラスのメンバ変数として定義し、それを Init トランザクションでインスタンス化して、Main トランザクションで呼び出すという設計をお勧めします。 例 (C#):
    using System;
    using Silk Performer;
    namespace SPProject1
    {
    [VirtualUser("VUser")]
    public class VUser
    {
    public localhost.Service1 mService;
    
    public VUser()
    {
    }
    
    [Transaction(ETransactionType.TRANSTYPE_INIT)]
    public void TInit()
    {
    mService = new localhost.Service1();
    }
    
    [Transaction(ETransactionType.TRANSTYPE_MAIN)]
    public void TMain()
    {
    int nRetParam = mService.ServiceCall1("Testparam");
    Bdl.Print("Return value of ServiceCall1: " +
    nRetParam.ToString());
    mService.ServiceCall2(nRetParam);
    }
    
    [Transaction(ETransactionType.TRANSTYPE_END)]
    public void TEnd()
    {
    }
    }
    }
  4. TryScript を実行します。

    Silk Performer/Try Script を呼び出すか F8 キーを押して、Try Script を起動します。戻り値は、Bdl.Print メソッド経由で仮想ユーザー出力ウィンドウに表示されます。

    TrueLog の Main トランザクションにある 2 つのノードは、Web サービス呼び出しを担当した SOAP HTTP トラフィックを表します。 デフォルトでは、すべての HTTP トラフィックが Silk Performer Web エンジンを通してリダイレクトされるため、TrueLog で出力が使用可能になります。 Web の設定 ダイアログ を使用して、リダイレクトをオフにしたり、特定の Web サービス クライアント プロキシ クラスに対して有効にすることができます。

  5. Silk Performer で作業を継続します。 .NET テスト ドライバの実装が完了したら、Silk Performer での作業および負荷テストの実行を継続できます。 Silk Performer では、複数のエージェントに分散された複数のユーザーで負荷テストを実行できます。 Web サービスを低速モデムを通して呼び出した場合のパフォーマンスをテストしたり、多数のユーザーがサービスを同時に呼び出した場合の Web サーバーのパフォーマンスをテストして、Web エンジン機能 (モデム シミュレーション、IP アドレスの多重化など) を利用してください。