Chcę zrzucić niektóre żądania (typu javax.servlet.http.HttpServletRequest
) do pliku, a następnie odtworzyć je z pliku, aby przetestować przyszłe zmiany na HttpServlet
. Jaki jest najlepszy sposób, aby to osiągnąć?Jak powinienem nagrać `HttpServletRequest`s, które są wysyłane do` doPost` w `HttpServlet` do późniejszego odtwarzania?
Do tej pory próbuję pobrać dane ze strumienia wejściowego powiązanego z żądaniem i zapisać te dane binarne w pliku. Ostatecznie może to wymagać czegoś takiego jak zapisanie liczby bajtów przed każdym zapisanym strumieniem wejściowym, aby wiedzieć, gdzie kończy się jedno żądanie, a drugie zaczyna.
Czy jest to prostszy sposób?
** EDYCJA: w celu wyjaśnienia, nie są to prośby związane z przeglądarką. Do tej pory żadna z odpowiedzi nie rozwiązuje mojego konkretnego problemu, który, jak sądzę, sprowadza się do serializowania i deserializacji HttpServletRequest. Próbowałem po prostu ciągnąć bajty ze strumienia wejściowego zwracane przez request.getInputStream(). Niestety, jeśli zmienię to w ciąg, wydaje się, że wynikowe bajty nie mogą być analizowane przez Message.Builder.mergeFrom (bytes).
Podnoszę nagrodę dla każdego, kto wie, jak rozwiązać mój problem.
Selen to doskonałe narzędzie do tego typu pracy. –
W rzeczywistości Selen testuje coś innego niż podstawowe HttpRequests/odpowiedzi, testuje strony internetowe. Żądania HTTP są również używane na przykład w usługach sieciowych, w których Selen nie byłby optymalny (imho). Jak mówi redakcja, nie ma to miejsca w kontekście przeglądarki internetowej, a kod wymaga dobrej modyfikacji, gdyby musiał zostać dostosowany do testów w przeglądarce. – fwielstra