jaktestowac / gad-gui-api-demo

GAD🦎 - Application for learning testing GUI and API
https://jaktestowac.pl/about-gad
GNU General Public License v3.0
14 stars 10 forks source link

Set Cache Control to no-store #6

Closed Aberratio closed 10 months ago

Aberratio commented 11 months ago

No more 3xx response status code in requests.

Freudenberger commented 10 months ago

Hello! Thank You for contribution :) I must prepare process for easier contribution (because some tests are run in private repo).

I would like to ask - in what context and cases You use our GAD application? :)

lgkula commented 10 months ago

Cześć jestem testerem automatycznym, oglądałem Wasz webinar o mockowaniu, i postanowiłem pobawić się mokowaniem na przykładzie tej aplikacji. Przy okazji wyszło, że Playwright ma w pewnych wypadkach problemy z przechwytywaniem body gdy request jest redirect (statusy 3xx). Zainteresowało mnie też dlaczego requesty w GAD są przekierowane skoro idą z beckendu, który jest razem z frontendem, czyli w rzeczywistości nie są przekierowane. Poprosiłem o wyjaśnienie zaprzyjaźnionego developera (Aberratio), który poprawił implementację i teraz kody idą prawidłowe

Freudenberger commented 10 months ago

Dzięki wielkie za info oraz kontekst! Masz może taki przypadek, gdy PW ma czasem problem z przechwyceniem body? Np. przykładowy scenariusz, kroki do reprodukcji lub kod testu automatycznego?

Z chęcią bym go sprawdził :)

Tego PR na dniach dodam do kodu :)

jaktestowac commented 10 months ago

Warto się zastanowić, czy chcemy tracić info o cache ze względu na problemy w testach.

Rozwiązaniem tymczasowym problemu w testach może być po prostu umieszczenie proxy na wszystkie requesty co wyłącza cache:

page.route('**', route => route.continue());

Dodatkowo linkuję buga z PW dla testów integracyjnych związanych z problemem przy route cache. Bez cache w apce nie będziemy mogli tego przetestować https://github.com/microsoft/playwright/issues/7220

Freudenberger commented 10 months ago

@jaktestowac w wersji GAD 2.4.0 planowałem opakować to w feature flag, dzięki temu można by było sterować czy GAD ma dodawac "Cache-Control", "no-store" czy tez nie ;)