Hinzufügen einer Datenquelle für einen Webleistungstest
Binden Sie Daten, um dem gleichen Test verschiedene Werte bereitzustellen, z. B. um den Formularbereitstellungsparametern verschiedene Werte bereitzustellen.
Es wird eine ASP.NET-Beispielanwendung verwendet. Sie hat drei ASPX-Seiten: die Standardseite, eine Seite "Red" und eine Seite "Blue". Die Standardseite enthält ein Optionsfeld für die Auswahl von "Red" oder "Blue" sowie eine Schaltfläche zum Senden. Die anderen beiden ASPX-Seiten sind sehr einfach. Eine hat die Bezeichnung "Red" und die andere die Bezeichnung "Blue". Wenn Sie auf der Standardseite "Senden" auswählen, wird eine der beiden anderen Seiten angezeigt. Sie können eine Anwendung wie diese erstellen , unser Beispiel herunterladen oder einfach mit Ihrer eigenen Webanwendung fortfahren.
Die Projektmappe sollte auch einen Webleistungstest enthalten, der die Seiten der Webanwendung durchsucht, ähnlich wie im ColorWebAppTest-Projekt, das in Aufzeichnen und Ausführen eines Webleistungstests [umgeleitet] erstellt wird.
Erstellen einer SQL-Datenbank
Wenn Sie nicht über Visual Studio Ultimate verfügen, rufen Sie es hier ab.
Erstellen Sie eine SQL-Datenbank.
Erstellen Sie ein Datenbankprojekt.
Fügen Sie der Datenbank eine Tabelle hinzu.
Fügen Sie der Tabelle Felder hinzu.
Veröffentlichen Sie das Datenbankprojekt.
Fügen Sie den Feldern Daten hinzu.
Hinzufügen der Datenquelle
Fügen Sie eine Datenquelle hinzu.
Wählen Sie den Typ der Datenquelle aus, und geben Sie ihr einen Namen.
Erstellen Sie eine Verbindung.
Geben Sie die Verbindungsdetails ein.
Wählen Sie die Tabelle aus, die Sie für den Test verwenden möchten.
Die Tabelle wird an den Test gebunden.
Speichern Sie den Test.
Binden der Daten
Binden Sie das ColorName-Feld.
Öffnen Sie die Datei "Local.testsettings" im Projektmappen-Explorer, und wählen Sie die Option "Ein Testlauf pro Datenquellenzeile" aus.
Speichern Sie den Webleistungstest.
Ausführen des Tests mit Daten
Führen Sie den Test aus.
Die zwei Testläufe werden für jede Datenzeile angezeigt. Testlauf 1 sendet eine Anforderung für die Seite "Red.aspx" und Testlauf 2 sendet eine Anforderung für die Seite "Blue.aspx".
Wenn Sie eine Bindung an eine Datenquelle durchführen, können Sie gegen die Standardregel "Antwort-URL" verstoßen. In diesem Fall wird der Fehler in Testlauf 2 von der Regel ausgelöst, die die Seite "Red.aspx" der ursprünglichen Testaufzeichnung erwartet. Aufgrund der Datenbindung wird sie aber zur Seite "Blue.aspx" geleitet.
Korrigieren Sie den Validierungsfehler, indem Sie die Validierungsregel "Antwort-URL" löschen und den Test erneut ausführen.
Der Webleistungstest ist jetzt mit Datenbindung erfolgreich.
F & A
F: Welche Datenbanken kann ich als Datenquelle verwenden?
A: Es stehen Ihnen folgende Möglichkeiten zur Verfügung:
Microsoft SQL Azure.
Jede Version von Microsoft SQL Server 2005 oder höher.
Microsoft SQL Server-Datenbankdatei (einschließlich SQL Express).
Microsoft ODBC.
Microsoft Access-Datei, die den .NET Framework-Anbieter für OLE DB verwendet.
Oracle 7.3, 8i, 9i oder 10g.
F: Wie verwende ich eine CSV-Textdatei (Comma Separated Value) als Datenquelle?
A: Ja.
Erstellen Sie einen Ordner zur Organisation der Projektdatenbankartefakte, und fügen Sie ein Element hinzu.
Erstellen einer Textdatei
Bearbeiten Sie die Textdatei, und fügen Sie folgenden Text hinzu:
ColorId, ColorName 0,Red 1,Blue
Befolgen Sie die Schritte unter Binden der SQL-Daten, wählen Sie aber CSV-Datei als Datenquelle aus.
F: Was muss ich tun, wenn die vorhandene CSV-Datei keine Spaltenüberschriften enthält?
A: Wenn Sie keine Spaltenüberschriften hinzufügen können, können Sie eine Schemabeschreibungsdatei verwenden und die CSV-Datei wie eine Datenbank behandeln.
Fügen Sie eine neue Textdatei mit dem Namen "schema.ini" hinzu.
Bearbeiten Sie die Datei schema.ini, um die Informationen hinzuzufügen, mit denen die Struktur der Daten beschrieben wird. Eine Schemadatei, die die CSV-Datei beschreibt, kann folgendermaßen aussehen:
[testdata.csv] ColNameHeader=False
Fügen Sie dem Test eine Datenquelle hinzu.
Wenn Sie die Datei "schema.ini" verwenden, wählen Sie "Datenbank" (nicht die CSV-Datei) als Datenquelle aus, und geben Sie ihr einen Namen.
Erstellen Sie eine neue Verbindung.
Wählen Sie den .NET Framework-Datenanbieter für OLE DB aus.
Wählen Sie Erweitert aus.
Wählen Sie für die Eigenschaft "Anbieter" die Option "Microsoft.Jet.OLEDB.4.0" aus, und legen anschließend die erweiterten Eigenschaften auf "Text; HDR=NO" fest.
Geben Sie den Namen des Ordners ein, der die Schemadatei enthält, und testen Sie die Verbindung.
Wählen Sie die CSV-Datei aus, die Sie verwenden möchten.
Wenn Sie damit fertig sind, wird die CSV-Datei als Tabelle angezeigt.
F: Wie verwende ich eine XML-Datei als Datenquelle?
A: Ja.
Erstellen Sie einen Ordner zur Organisation der Projektdatenbankartefakte, und fügen Sie ein Element hinzu.
Erstellen Sie eine XML-Datei.
Bearbeiten Sie die XML-Datei, und fügen Sie die Daten hinzu:
<?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>
Befolgen Sie die Schritte unter Binden der SQL-Daten, wählen Sie aber XML-Datei als Datenquelle aus.
F: Kann ich einer Webdienstanforderung, die SOAP verwendet, eine Datenbindung hinzufügen?
A: Ja; Sie müssen den SOAP-XML-Code manuell ändern.
Wählen Sie in der Anforderungsstruktur die Webdienstanforderung und im Fenster "Eigenschaften" die Auslassungszeichen (...) in der Eigenschaft "Zeichenfolgentext".
Ersetzen Sie die Werte im SOAP-Text durch datengebundene Werte, und verwenden Sie dabei folgende Syntax:
{{DataSourceName.TableName.ColumnName}}
Wenn Ihr Code beispielsweise folgendermaßen lautet:
<?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>
Können Sie in Folgenden ändern:
<?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>
Speichern Sie den Test.