Mögliche Wege sind:
(1) Stellen Sie die Follow redirects
Eigenschaft auf die Anfrage zu False
und dann in der Kette von Umleitungen für jede URL-Anforderungen erstellen. Fügen Sie Extraktionsregeln an relevanten Stellen hinzu und verwenden Sie die extrahierten Werte in den nachfolgenden Anforderungen. Dies ist der normale Ansatz, wenn nur eine Umleitung oder nur eine sehr kleine Anzahl von Umleitungen vorhanden ist.
(2) Ähnlich wie oben, aber schreiben Sie ein Plugin, das die Umleitung behandelt und die nächste Anfrage in der Kette zum Test hinzufügt.
Im Allgemeinen werden Cookies und Abfragezeichenfolgenparameter aus Antworten extrahiert und in Anfragen geschrieben, sie werden normalerweise nicht aus Anfragen extrahiert. In Visual Studio-Webtests werden Cookies normalerweise ohne Hilfe gehandhabt.
Werte von Abfragezeichenfolgen können von vielen Stellen in einer Antwort kommen. Wenn eine spezielle Cookie-Behandlung erforderlich ist, können sie aus den Antworten der ExtractHttpHeader
Extraktionsregel für das Header-Feld Set-Cookie
extrahiert werden.
Wenn Sie wirklich Werte aus einer Anfrage extrahieren müssen, können die Plugins PreRequest
direkt vor dem Senden auf die Teile der Anfrage zugreifen.
Für die Anfrage, die Sie versuchen zu behandeln, würde ich vorstellen, drei Anfragen zu verwenden, jede mit Follow redirects
auf False
festgelegt. Sie sind:
(1)
Request: http://localhost:12345
Response: extract port number and other url fragments to context parameters `PortNumber1` and `UrlFragment1`, etc.
(2)
Request: http://localhost:{{PortNumber1}}/{{UrlFragment1}}
Response: extract redirected url to `Url2` and cookie(s) to `Cookies2`
(3)
Request: http://{{Url2}}/
Query string parameters written to header fields,
either by fields in the web test
or by plugin creating the values
Response: ...
Sie überdenken könnten die Web-Test-Recorder. Ich finde, es macht einen guten Job, einen Webtest zu erstellen. Zusätzliche Arbeit ist erforderlich, um dynamische Parameter zu handhaben, aber diese Art von Arbeit wäre mit oder ohne den Rekorder erforderlich. Du sagst "es gibt zu viel Müll Verkehr, um raus zu jäten" aber das sollte nur ein paar Momente dauern, wenn es wirklich Müll ist.Es ist jedoch Teil des zu testenden Systems und wenn es gelöscht wird, wird der Web-Test die tatsächliche Aktivität auf der getesteten Website korrekt simulieren?
Ok. Ich kann das machen. Aber ich muss immer noch Cookies und Abfrage-Strings aus nachfolgenden Anfragen, die ich nicht weiß, wie zu tun ist. In meinem Beispiel lautet meine erste Anfrage also https: // localhost:. Ich bekomme keine Antwort zurück. Es gibt nur eine Weiterleitung zu https: // localhost: . Bei der ersten Weiterleitung wird also ein Cookie auf dem Server als Teil der Anfrage erstellt. So sehe ich das im Anfrageteil der Umleitung. –
Wenn ich Extrahierungsregeln betrachte, gibt es nichts, was man aus der ersten Anfrage extrahieren kann (https: // localhost
@StephanieStowe Antwort aktualisiert. – AdrianHHH