Web パフォーマンス テストへのデータ ソースの追加
発行: 2016年7月
データをバインドすると、同じテストに異なる複数の値を指定することができます (フォーム ポスト パラメーターに異なる複数の値を指定するなど)。
サンプル ASP.NET アプリを使用します。 このサンプルでは、3 種類の .aspx ページ (既定ページ、Red ページ、Blue ページ) を使用します。 既定のページには、Red または Blue を選択するオプション ボタン コントロールと送信ボタンが表示されます。 他の 2 種類は単純な .aspx ページです。 一方には Red という名前のラベルがあり、他方には Blue という名前のラベルがあります。 既定のページで送信ボタンをクリックすると、いずれかのページが表示されます。 サンプルをダウンロードしてこのようなアプリを作成することも、自身の Web アプリとともに理解することもできます。
ソリューションには、「Record and run a web performance test」で作成された ColorWebAppTest プロジェクトのような Web アプリケーションのページ間を移動する Web パフォーマンス テストも含める必要があります。
SQL データベースの作成
Visual Studio Enterprise を持っていない場合は、ここで入手してください。
SQL データベースを作成します。
データベース プロジェクトを作成します。
データベース プロジェクトにテーブルを追加します。
フィールドをテーブルに追加します。
データベース プロジェクトを発行します。
データをフィールドに追加します。
データ ソースの追加
データ ソースを追加します。
データ ソースの種類を選択し、名前を指定します。
接続を作成します。
接続の詳細を入力します。
テストで使用するテーブルを選択します。
テーブルがテストにバインドされます。
テストを保存します。
データのバインド
ColorName フィールドをバインドします。
ソリューション エクスプローラーで Local.testsettings ファイルを開き、[データ ソース行ごとに 1 つ実行] をクリックします。
Web パフォーマンス テストを保存します。
データを使用したテストの実行
テストを実行します。
データ行ごとに 2 つの実行が表示されます。 Run 1 は Red.aspx ページに対する要求を送信し、Run 2 は Blue.aspx ページに対する要求を送信します。
データ ソースにバインドすると、既定の応答 URL 規則に違反することがあります。 この場合、既定の応答 URL 規則によって Run 2 でエラーが発生しています。この規則では元のテストの記録から Red.aspx ページを予期していますが、データ バインディングにより Blue.aspx ページが指定されます。
応答 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: 次の手順に従います。
プロジェクトのデータベース成果物を整理するフォルダーを作成し、項目を追加します。
テキスト ファイルを作成します。
このテキスト ファイルを編集して、次の内容を追加します。
ColorId, ColorName 0,Red 1,Blue
「SQL データのバインド」の手順を使用しますが、データ ソースとして CSV ファイルを選択します。
Q: 既存の CSV ファイルに列見出しが含まれていない場合は、どうすればよいですか。
A: 列見出しを追加できない場合は、スキーマ記述ファイルを使用して CSV ファイルをデータベースとして扱うことができます。
schema.ini という名前の新しいテキスト ファイルを追加します。
schema.ini ファイルを編集して、データの構造を記述する情報を追加します。 たとえば、CSV ファイルについて記述するスキーマ ファイルは次のようになります。
[testdata.csv] ColNameHeader=False
データ ソースをテストに追加します。
schema.ini ファイルを使用する場合は、データ ソースとして (CSV ファイルではなく) データベースを選択し、名前を指定します。
新しい接続を作成します。
[.NET Framework Data Provider for OLE DB] をクリックします。
[詳細設定] を選択します。
"プロバイダー" プロパティについて Microsoft.Jet.OLEDB.4.0 を選択し、[拡張プロパティ] を Text;HDR=NO に設定します。
スキーマ ファイルが含まれているフォルダーの名前を入力し、接続をテストします。
使用する CSV ファイルを選択します。
終了すると、CSV ファイルがテーブルとして表示されます。
Q: XML ファイルをデータ ソースとして使うにはどうすればよいですか。
A: できます。
プロジェクトのデータベース成果物を整理するフォルダーを作成し、項目を追加します。
XML ファイルを作成します。
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>
「SQL データのバインド」の手順を使用しますが、データ ソースとして XML ファイルを選択します。
Q: SOAP を使用する Web サービス要求にデータ バインディングを追加できますか。
A: はい。ただし SOAP XML を手動で変更する必要があります。
要求ツリーで Web サービス要求を選択し、[プロパティ] ウィンドウの "文字列ボディ" プロパティの省略記号 (...) をクリックします。
次の構文を使用して、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>
テストを保存します。