Ich habe ein Problem, das hoffentlich eine einfache Lösung hat, die ich übersehe ... das ist das erste Mal, das ich Datei-Upload-Parameter mit Visual Studio-Leistungstest-Tools verwende. Als ich meinen Webleistungstest zum ersten Mal durchführte, fand mein Test die Datei und lud sie wie erwartet hoch. Wenn ich den Test jetzt erneut ausfühle, erhalte ich einen 500 Internal Server-Fehler im Abschnitt "Details" der Ergebnisse, und ich habe festgestellt, dass mein Dateiname ein Zeitstempel enthält, der dem korrekten Namen in der Anfrage vorangestellt ist. Da sich mein Dateiname nicht ändert, führt dies dazu, dass Visual Studio mein Dokument nicht finden kann.Visual Studio Performance Test Datei Upload-Parameter Präfixe Datum
Ich generierte Code für diesen Test, weil ich die SSL-Einstellungen manuell zurücksetzen musste. Mein Dokument wurde in den Ordner Testergebnisse verschoben, weil ich die Methode damit als DeploymentItem versehen habe. Visual Studio hat dies automatisch gemacht, als ich den Code generiert habe, was sehr nett war, aber das Problem könnte sein ... Jede Hilfe wäre sehr willkommen! Hier ist die POST-Anfrage Ich mache:
WebTestRequest request11 = new WebTestRequest((this.Context["Environment"].ToString() + "/Submit/Upload"));
request11.Method = "POST";
request11.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["Environment"].ToString() + "/Submit/Index/fakefolder456")));
FormPostHttpBody request11Body = new FormPostHttpBody();
request11Body.FormPostParameters.Add(new FileUploadParameter("files", "Test3.pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation", true));
request11Body.FormPostParameters.Add("folderId", "fakeId123");
request11Body.FormPostParameters.Add("fileNamePairs", "[{\"OriginalFileName\" : \"Test3.pptx\",\"NewFileName\" : \"Test3.pptx\"}]");
request11Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
request11.Body = request11Body;
yield return request11;
request11 = null;
Welcher Dateiname? Es gibt 3 von 'Test3.pptx' im angezeigten Code. Es gibt auch 'OriginalFileName' und' NewFileName'. Was sind die Anfrage und die Antwort, wenn der Test ausgeführt wird? – AdrianHHH
Ich habe nur einen Webtest auf Code aus Debugging-/Diagnosegründen umgestellt. Alles andere, was ich benötigt habe, wurde besser über Plugins erledigt. Die Umwandlung in Code macht den Rest des Tests viel schwieriger zu verwalten und zu modifizieren. Wenn Sie wirklich eine ganze Anfrage über die Umwandlung in C# -Code machen müssen, dann empfehle ich, den Webtest-Kontext (Rechtsklick) Menübefehl 'Webtest extrahieren' zu verwenden und dann diese eine Anfrage zu konvertieren. – AdrianHHH
Wissen Sie, ob ich die Anforderung SecurityProtocolType mit einem Plugin festlegen kann? Ich habe noch nie zuvor Plugins benutzt, werde aber recherchieren ... Ich muss diese Codezeile hinzufügen, damit meine Leistungstests funktionieren, die meine Anfrage anweisen, TLS 1.2 für die SSL-Verschlüsselung zu verwenden: 'ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;' – GoldAnchor