Come si può fare un test web per accettare download di file?
Domanda
Sto usando Visual Studio Team Foundation Server 2008 Team Suite per creare un test web per un sito. In alcune pagine la risposta è un download di file (di solito un PDF) e devo solo verificare che la risposta ritorni con il giusto codice di stato e il tipo di contenuto, ignorando il corpo. Quando eseguo il test Web in Visual Studio o eseguo il test compilato con MSTest e carico i risultati, tali richieste falliscono, causando il fallimento dell'intero test Web.
La scheda Browser Web dei risultati del test ha il testo:
Request failed: Unable to read data from the transport connection: The connection was closed.
E la scheda Dettagli contiene l'eccezione:
System.IO.IOException: Unable to read data from the transport connection: The connection was closed. at System.Net.ConnectStream.EndRead(IAsyncResult asyncResult) at Microsoft.VisualStudio.TestTools.WebStress.DataCaptureStream.EndRead(IAsyncResult asyncResult) at Microsoft.VisualStudio.TestTools.WebStress.WebTestTransaction.ReadResponse(IAsyncResult result)
La scheda Response mostra una risposta corretta, con le intestazioni che includono " HTTP / 1.1 200 OK " e " Tipo di contenuto: application / pdf " ;, e il contenuto PDF nel corpo.
Come posso fare in modo che il webtest accetti PDF o altri tipi di file per tali richieste?
Soluzione
Esiste un bug in Visual Studio Team System 2008 SP1 che mostra tali sintomi. Prova a installare hot fix per questo. Maggiori dettagli qui: http://kbalertz.com/972678/successfully -recorded-visivo-Studio-System-autenticazione-reindirizzato-Logon.aspx
Altri suggerimenti
sembra un problema del browser, a dire il vero, usa il tipo / sconosciuto per forzare un salvataggio come sul client invece che il browser predefinito del client tenta di visualizzarlo.