次の方法で共有


Web パフォーマンス テストへのデータ ソースの追加

 

発行: 2016年7月

データをバインドすると、同じテストに異なる複数の値を指定することができます (フォーム ポスト パラメーターに異なる複数の値を指定するなど)。

Web パフォーマンス テストにデータをバインドする

サンプル ASP.NET アプリを使用します。 このサンプルでは、3 種類の .aspx ページ (既定ページ、Red ページ、Blue ページ) を使用します。 既定のページには、Red または Blue を選択するオプション ボタン コントロールと送信ボタンが表示されます。 他の 2 種類は単純な .aspx ページです。 一方には Red という名前のラベルがあり、他方には Blue という名前のラベルがあります。 既定のページで送信ボタンをクリックすると、いずれかのページが表示されます。 サンプルをダウンロードしてこのようなアプリを作成することも、自身の Web アプリとともに理解することもできます。

テストする Web アプリの実行

ソリューションには、「Record and run a web performance test」で作成された ColorWebAppTest プロジェクトのような Web アプリケーションのページ間を移動する Web パフォーマンス テストも含める必要があります。

Web パフォーマンス テストが含まれたソリューション

SQL データベースの作成

  1. Visual Studio Enterprise を持っていない場合は、ここで入手してください。

  2. SQL データベースを作成します。

    新しい SQL データベースを追加する

  3. データベース プロジェクトを作成します。

    データベースから新しいプロジェクトを作成する

  4. データベース プロジェクトにテーブルを追加します。

    データベース プロジェクトに新しいテーブルを追加する

  5. フィールドをテーブルに追加します。

    テーブルにフィールドを追加する

  6. データベース プロジェクトを発行します。

    ソリューション エクスプローラーからデータベース プロジェクトを発行する

  7. データをフィールドに追加します。

    フィールドにデータを追加する

データ ソースの追加

  1. データ ソースを追加します。

    Web パフォーマンス テストにデータ ソースを追加する

  2. データ ソースの種類を選択し、名前を指定します。

    データベース ソースの名前を指定する

  3. 接続を作成します。

    新しい接続を選択する

    接続の詳細を入力します。

    SQL データベース接続プロパティを入力する

  4. テストで使用するテーブルを選択します。

    データ ソースとして Color テーブルを追加する

    テーブルがテストにバインドされます。

    Web パフォーマンス テストに追加されたデータ ソース ノード

  5. テストを保存します。

データのバインド

  1. ColorName フィールドをバインドします。

    ColorName フィールドを RadioButtonList1 値にバインドする

  2. ソリューション エクスプローラーで Local.testsettings ファイルを開き、[データ ソース行ごとに 1 つ実行] をクリックします。

    テスト設定ファイルを編集します。

  3. Web パフォーマンス テストを保存します。

データを使用したテストの実行

  1. テストを実行します。

    Web パフォーマンス テストを実行してバインドを検証する

    データ行ごとに 2 つの実行が表示されます。 Run 1 は Red.aspx ページに対する要求を送信し、Run 2 は Blue.aspx ページに対する要求を送信します。

    テスト実行結果

    データ ソースにバインドすると、既定の応答 URL 規則に違反することがあります。 この場合、既定の応答 URL 規則によって Run 2 でエラーが発生しています。この規則では元のテストの記録から Red.aspx ページを予期していますが、データ バインディングにより Blue.aspx ページが指定されます。

  2. 応答 URL 検証規則を削除し、テストを再実行して、検証エラーを修正します。

    応答 URL の検証規則を削除する

    データ バインディングを使用した Web パフォーマンス テストが成功します。

    データ バインディングを使用してテストに合格する

Q & A

Q: データ ソースとして使用できるのはどのようなデータベースですか。

A: 次のデータベースを使用できます。

  • Microsoft SQL Azure

  • Microsoft SQL Server 2005 以降のバージョン

  • Microsoft SQL Server データベース ファイル (SQL Express を含む)

  • Microsoft ODBC

  • Microsoft Access ファイル (.NET Framework Data Provider for OLE DB を使用)

  • Oracle 7.3、8i、9i、10g

Q: コンマ区切り値 (CSV) テキスト ファイルをデータ ソースとして使用するにはどうすればよいですか。

A: 次の手順に従います。

  1. プロジェクトのデータベース成果物を整理するフォルダーを作成し、項目を追加します。

    データ フォルダーに新しい項目を追加する

  2. テキスト ファイルを作成します。

    新しいテキスト ファイルに ColorData.csv という名前を付ける

  3. このテキスト ファイルを編集して、次の内容を追加します。

    ColorId, ColorName
    0,Red
    1,Blue
    
  4. 「SQL データのバインド」の手順を使用しますが、データ ソースとして CSV ファイルを選択します。

    名前を入力して CSV ファイルを選択する

Q: 既存の CSV ファイルに列見出しが含まれていない場合は、どうすればよいですか。

A: 列見出しを追加できない場合は、スキーマ記述ファイルを使用して CSV ファイルをデータベースとして扱うことができます。

  1. schema.ini という名前の新しいテキスト ファイルを追加します。

    schema.ini ファイルを追加する

  2. schema.ini ファイルを編集して、データの構造を記述する情報を追加します。 たとえば、CSV ファイルについて記述するスキーマ ファイルは次のようになります。

    [testdata.csv]
    ColNameHeader=False
    
  3. データ ソースをテストに追加します。

    Web パフォーマンス テストにデータ ソースを追加する

  4. schema.ini ファイルを使用する場合は、データ ソースとして (CSV ファイルではなく) データベースを選択し、名前を指定します。

    データベース データ ソースの追加

  5. 新しい接続を作成します。

    新しい接続を選択する

  6. [.NET Framework Data Provider for OLE DB] をクリックします。

    .NET Framework OLE DB データ プロバイダーを選択する

  7. [詳細設定] を選択します。

    [詳細設定] を選択する

  8. "プロバイダー" プロパティについて Microsoft.Jet.OLEDB.4.0 を選択し、[拡張プロパティ] を Text;HDR=NO に設定します。

    詳細設定プロパティの適用

  9. スキーマ ファイルが含まれているフォルダーの名前を入力し、接続をテストします。

    データ フォルダーへのパスを入力する

  10. 使用する CSV ファイルを選択します。

    テキスト ファイルを選択する

    終了すると、CSV ファイルがテーブルとして表示されます。

    テストに追加されたデータ ソース

Q: XML ファイルをデータ ソースとして使うにはどうすればよいですか。

A: できます。

  1. プロジェクトのデータベース成果物を整理するフォルダーを作成し、項目を追加します。

    データ フォルダーに新しい項目を追加する

  2. XML ファイルを作成します。

    ColorData.xml ファイルを追加する

  3. XML ファイルを編集し、データを追加します。

    <?xml version="1.0" encoding="utf-8" ?>
    <ColorData>
        <Color>
            <ColorId>0</ColorId>
            <ColorName>Red</ColorName>
        </Color>
        <Color>
            <ColorId>1</ColorId>
            <ColorName>Blue</ColorName>
        </Color>
    </ColorData>
    
  4. 「SQL データのバインド」の手順を使用しますが、データ ソースとして XML ファイルを選択します。

    名前を入力して XML ファイルを選択する

Q: SOAP を使用する Web サービス要求にデータ バインディングを追加できますか。

A: はい。ただし SOAP XML を手動で変更する必要があります。

  1. 要求ツリーで Web サービス要求を選択し、[プロパティ] ウィンドウの "文字列ボディ" プロパティの省略記号 (...) をクリックします。

    Web サービスの String Body を編集する

  2. 次の構文を使用して、SOAP 本体の値をデータ バインディング値に置き換えます。

    {{DataSourceName.TableName.ColumnName}}
    

    たとえば、次のようなコードがあるとします。

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <CheckStatus xmlns="http://tempuri.org/">
                <userName>string</userName>
                <password>string</password>
                <orderID>int</orderID>
            </CheckStatus>
        </soap:Body>
    </soap:Envelope>
    

    これを次のように変更できます。

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <CheckStatus xmlns="http://tempuri.org/">
                <userName>{{DataSourceName.Users.Name}}</userName>
                <password>{{DataSourceName.Users.Password}}</password>
                <orderID>{{DataSourceName.Orders.OrderID}}</orderID>
            </CheckStatus>
        </soap:Body>
    </soap:Envelope>
    
  3. テストを保存します。