Generieren und Ausführen eines codierten Webleistungstests
Webleistungstests werden aufgezeichnet, indem die Web-App durchsucht wird. Die Tests sind in Auslastungstests enthalten, um die Leistung der Webanwendung unter der Last mehrerer Benutzer zu messen. Ein Webleistungstest kann in ein codebasiertes Skript konvertiert werden, das Sie wie jeden anderen Quellcode bearbeiten und anpassen können. Beispielsweise können Sie Schleifen- und Verzweigungskonstrukte hinzufügen.
Generieren eines codierten Webleistungstests
Wenn Sie keinen Webleistungstest erstellt haben, finden Sie weitere Informationen unter Aufzeichnen und Ausführen eines Webleistungstests [umgeleitet].
Generieren Sie den codierten Test.
Geben Sie dem Test einen Namen.
Der neue codierte Test wird im Code-Editor geöffnet.
In Abhängigkeit davon, welche Webleistungs- und Auslastungstest-Projektvorlage Sie zu Ihrer Projektmappe hinzugefügt haben, wird der Code entweder in Visual Basic oder Visual C# generiert.
Im Code können Sie sehen, dass die GetRequestEnumerator()-Methode in C# bzw. die Run()-Methode in Visual Basic jede Validierungsregel und jede Webanforderung enthält, die im umcodierten Test enthalten war.
Um zu demonstrieren, wie einfacher Code hinzugefügt wird, führen Sie einen Bildlauf zum Ende der Methode durch, und fügen Sie nach dem Code für die letzte Webanforderung folgenden Code hinzu:
if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday) { WebTestRequest customRequest = new WebTestRequest("http://weather.msn.com/"); yield return customRequest; } else { WebTestRequest customRequest = new WebTestRequest("https://msdn.microsoft.com/"); yield return customRequest; }
If DateTime.Today.DayOfWeek = DayOfWeek.Wednesday Then Dim customRequest As WebTestRequest = New WebTestRequest("http://weather.msn.com/") MyBase.Send(customRequest) Else Dim customRequest As WebTestRequest = New WebTestRequest("https://msdn.microsoft.com/") MyBase.Send(customRequest) End If
Erstellen Sie die Projektmappe, um sicherzustellen, dass der benutzerdefinierte Code kompiliert werden kann.
Führen Sie den Test aus.
Und da der Tag, am dem dies ausgeführt wurde, ein Mittwoch war...
Fragen und Antworten
F: Kann ich mehrere Tests gleichzeitig durchführen?
A: Ja. Verwenden Sie das Kontextmenü im Projektmappen-Explorer.
F: Sollte ich eine Datenquelle vor oder nach der Generierung eines codierten Tests hinzufügen?
A: Es ist einfacher, eine Datenquelle hinzuzufügen, bevor Sie den codierten Test generieren, da der Code automatisch für Sie generiert wird.
Wenn Sie einen codierten Test mit einer Datenquelle ausführen, wird möglicherweise folgende Fehlermeldung angezeigt:
Could not run test <Test Name> on agent <Computer Name>: Object reference not set to an instance of an object.
Dieser Fehler kann auftreten, wenn Sie für die Testklasse ein DataSourceAttribute ohne ein zugehöriges DataBindingAttribute definiert haben. Um diesen Fehler zu beheben, fügen Sie ein entsprechendes DataBindingAttribute hinzu, löschen es oder kommentieren es aus dem Code aus.
F: Sollte ich Validierung und Extraktionsregeln vor oder nach der Generierung eines codierten Tests hinzufügen?
A: Es einfacher, Validierungsregeln und Extraktionsregeln hinzuzufügen, bevor Sie den codierten Test generieren; zu Validierungszwecken sollten Sie jedoch Tests der codierten UI verwenden.