2015-01-23 10 views
5

Il test delle prestazioni Web registrato ha diversi campi "String body" e ho bisogno di modificare i loro contenuti in fase di esecuzione da un plug-in di richiesta di test web.Come leggere, aggiornare e sostituire un campo "Corpo della stringa" in un test Web da un plug-in?

Il campo "Corpo della stringa" non è direttamente disponibile dai vari campi e sottocampi di PreRequestEventArgs.

Come leggere il campo "Corpo della stringa" in string e, dopo averlo modificato, riscriverlo?

risposta

4

Per leggere il campo "Corpo della stringa", eseguire il cast del corpo della richiesta su StringHttpBody che rende disponibile la stringa. Per scriverlo, creare un nuovo oggetto StringHttpBody per contenere la stringa aggiornata, quindi scriverlo nella richiesta.

Utilizzo di un plug-in È necessario modificare il campo "Corpo della stringa" di una richiesta in un test delle prestazioni del Web. Posso accedere ai contenuti utilizzando il seguente codice:

public override void PreRequest(object sender, PreRequestEventArgs e) 
{ 
    if (e.Request.Body == null) { return; } 
    StringHttpBody httpBody = e.Request.Body as StringHttpBody; 
    if (httpBody == null) { return; } 
    string body = httpBody.BodyString; 

    string updatedBody = UpdateBody(body); 

    StringHttpBody newBody = new StringHttpBody(); 
    newBody.BodyString = updatedBody; 
    e.Request.Body = newBody; 
}