QA The Other WayKwaliteitsborging voor het tijdperk van door AI geschreven tests. QA The Other Way.
Praktische QA

Je API-check kan de browsercookies delen.

Kies bewust gedeelde of geïsoleerde requesttoestand voordat je bewijs onafhankelijk noemt.

5 minuten leestijdQA The Other Way
Eigen diagram van gedeelde cookies en aparte requestopslag.
Eigen redactionele illustratie.
Illustratieve video bij dit artikel. Engelse tekst op het scherm; selecteer ondertitels voor deze taal.

Vertaalde editie. Technische identificatiegegevens blijven in hun oorspronkelijke vorm.

Kies bewust gedeelde of geïsoleerde requesttoestand voordat je bewijs onafhankelijk noemt.
Lokaal voorbeeld met verzonnen data, geen klant- of leveranciersinterface.

Een test opent een ingelogde pagina en leest daarna via API. Men veronderstelt een andere identiteit omdat geen knop werd gebruikt. In Playwright kan de gekoppelde requestcontext cookies delen. API betekent niet automatisch onafhankelijke authenticatie.

Deze gids gebruikt APIRequestContext, een lokale server en verzonnen demo_session-cookie. Geen echt geheim of account. We tonen opslaggrenzen, geen omzeiling.

Identificeer de gemaakte context

browserContext.request en page.request delen browsercookies. Requests gebruiken ze; responses kunnen ze veranderen. Handig bij bewust dezelfde testsessie, belangrijk voor bewijs.

request.newContext heeft eigen opslag. Kies het voor onafhankelijke toestand. Isolatie is een opstellingskeuze, geen etiket na een passende respons.

const shared = await page.request.get('http://localhost:4181/who');
expect(await shared.text()).toBe('demo_session=fixture');

const isolated = await request.newContext();
try {
  const response = await isolated.get('http://localhost:4181/who');
  expect(await response.text()).toBe('no demo cookie');
} finally {
  await isolated.dispose();
}

Lokale server en al aanwezige verzonnen cookie zijn vereist. Importeer request en expect uit Playwright. De server meldt alleen deze cookie. Publiceer geen echte sessieheaders.

Definieer onafhankelijkheid

Een gedeelde request leest een resultaat via een ander pad met dezelfde identiteit. Dat kan een onafhankelijke uitkomstcheck zijn, maar geen andere gebruiker of anonieme client. Benoem leespad, identiteit, opslag of autorisatie.

Zonder cookie is de opstelling anders. Dat bewijst geen echt uitlogbeleid zonder endpoint en verwachte respons. De server geeft een verzonnen string, geen toegangscertificering.

Gekopieerde toestand verandert betekenis. Dezelfde gekopieerde sessie is niet anoniem. Ook zonder cookies kunnen headers of credentials ingesteld zijn. Controleer alles.

Maak response-effecten zichtbaar

Delen werkt beide kanten op. Een gedeelde responsecookie kan later de browser beïnvloeden. Voorbereiding verandert soms meer dan een serverrecord.

De lokale test zet een tweede verzonnen cookie en vindt die in de browser. De geïsoleerde context blijft apart. Dit is mechaniek, geen uitspraak over ieder sessieontwerp.

Sluit wegwerpcontexten. De API bewaart responsebodies voor latere lezing en beschrijft dispose voor opruimen. Lees nodig bewijs eerst.

Schrijf de identiteitsgrens op

Noteer requestobject, beginstaat, responsecookies en verwachte identiteit. Gebruik toegestane testsessies en publiceer geen statusbestanden of toegangsheaders.

AnyTest beschrijft verkenning en beoordeelbare tests. Vraag of een check sessie deelt of aparte staat heeft. Geen specifieke AnyTest-implementatie wordt geclaimd. Onafhankelijkheid benoemt grens, niet alleen transport.

Veelgestelde vragen

Heeft page.request een aparte cookieopslag?

Nee. De opslag wordt gedeeld met de bijbehorende browsercontext.

Bewijst isolatie vanzelf anoniem toegangsbeleid?

Nee. De volledige opstelling en echte endpointverwachting moeten vaststaan.

Bronnen