2012-08-27 11 views
6

Come posso passare un campo/valore che sarà essere parte della risposta ricevuta dalla richiesta corrente come parametro per la prossima richiesta?valori d'uso di test Web in risposta come parametri per la prossima richiesta

Sono in grado di impostare solo i parametri POST Form statici. C'è un modo per farlo nell'interfaccia utente disponibile per la configurazione del test web?

enter image description here

Ho cercato in giro ma questi sembra possibile con jMeter e altri framework di test web. E vedere quelli che mi portano a rinunciare (per ora) e iniziare a esplorare l'approccio Coded Web Test nel frattempo.

Qualsiasi suggerimento/suggerimento apprezzato.

risposta

4

Sono riuscito a farlo dopo un po 'di ricerche. Risulta piuttosto semplice (cioè con Test codificato).

. 
. 
. 
var request1 = new WebTestRequest("http://localhost/Home/Index"); 
var sessionId = ""; 
request1.ExtractValues += (s, e) => { 
sessionId = 
    e.Response.HtmlDocument.HtmlTags.SingleOrDefault(tag => 
    tag.Name == "somename" 
    && tag.Attributes.Any(a => a.Name == "attrName" 
    && a.Value == "attrValue"));  
}; 

yield return request1; 

Poi,

var request2 = new WebTestRequest("http://localhost/SomeController/Index/"); 
var request2Body = new FormPostHttpBody(); 
request2Body.FormPostParameters.Add("sessionId", sessionId); 
request2.Body = request2Body; 

yield return request2; 

Se qualcuno sa di un approccio migliore si prega di inviare una risposta.

1

So che questa è una vecchia domanda su Visual Studio 2012, tuttavia forse questo potrebbe aiutare qualcuno a cercare di ottenere questo risultato per Visual Studio 2015. Ci sono probabilmente molti modi per farlo; ecco come ho gestito tutto:

  1. Per il login Request, impostare una regola di estrazione : click destro sul Request e selezionare Add Extraction Rule.... Ciò consentirà di memorizzare i dati dalla risposta da utilizzare nelle richieste successive. Esistono diversi modi per estrarre i dati, ad esempio da un campo POST. I dati sono memorizzati in una variabile denominata, Context Parameter Name. Supponiamo che tu abbia impostato su sessionid.
  2. Ho aggiunto tutti gli URL aggiuntivi alla richiesta originale utilizzando Add Dependent Request. Puoi aggiungere l'accesso alla variabile di contesto ovunque circondandola con doppie parentesi graffe: {{sessionid}}.
Problemi correlati