Tools van Chrome voor probleemloos, geautomatiseerd testen

Testen is belangrijk. Het is een belangrijke stap voordat u wat u heeft gebouwd aan gebruikers levert (of dat nu een hele site of applicatie is, of een nieuwe functie) om te controleren of het werkt zoals verwacht. Veel tests gebeuren echter nog steeds handmatig, waarbij collega's of testingenieurs worden gevraagd de nieuwe functie uit te proberen en problemen te melden.

Hoewel deze handmatige tests bepaalde soorten problemen aan het licht kunnen brengen, kunnen er nog veel meer over het hoofd worden gezien. De mensen die de tests uitvoeren, missen mogelijk randgevallen of slagen er helemaal niet in een bepaald traject door de app te testen. Ze beschikken ook niet over alle informatie die u had bij het schrijven van de code. Ze zijn ook niet op de hoogte van de specifieke problemen die u met code hebt toegevoegd om te voorkomen. En zullen ze, naarmate de tijd verstrijkt en er nieuwe functies worden toegevoegd, teruggaan en al die voorheen werkende dingen opnieuw testen, om er zeker van te zijn dat de veranderingen ze niet kapot hebben gemaakt?

Daarom gelooft het Chrome-team in het belang van geautomatiseerd testen. Door gebruik te maken van een testpakket dat uw functie betrouwbaar en herhaaldelijk test op defecten, kunt u er zeker van zijn dat elk klein detail wordt getest, nu en na toekomstige ontwikkeling. Jouw kennis als ontwikkelaar van een feature wordt ingekapseld in een test.

We weten echter dat geautomatiseerd testen een uitdaging kan zijn. Daarom biedt het Chrome-team de volgende tools en richtlijnen om het voor u zo soepel mogelijk te maken.

Poppenspeler

Puppeteer is een Node.js-bibliotheek. Hiermee kunt u Chrome, Chromium en Firefox automatiseren met een gebruiksvriendelijke API op hoog niveau.

Hoewel deze API oorspronkelijk gebaseerd was op het Chrome DevTools Protocol, is het de bedoeling om tegen het einde van het jaar het nieuwe, geavanceerde WebDriver BiDi-protocol tot de basis van Puppeteer te maken. WebDriver BiDi, mede ontwikkeld door alle grote browserleveranciers, vereenvoudigt veel automatiseringsgebruiksscenario's en maakt veel nieuwe mogelijk, en is compatibel met meerdere browsers.

Maar wachten is niet nodig. De API van Puppeteer maakt tegenwoordig al veel automatiseringstoepassingen mogelijk, die alleen maar zullen verbeteren met WebDriver BiDi. Van testen tot visueel crawlen en procesautomatisering, er is veel dat u kunt doen met functies zoals pagina-interacties , onderschepping van verzoeken en schermafbeeldingen . U kunt het zelfs gebruiken om uw web-AI-modellen in de cloud te testen met behulp van WebGPU en WebGL.

Puppeteer wordt ook gebruikt door tools als WebdriverIO , een volwaardig browsertestframework, en de Privacy Sandbox Analysis Tool , waarmee u het gebruik van cookies en gebruikersgegevens op uw site beter kunt begrijpen.

Chroom zonder hoofd

Als u Chrome ooit heeft geautomatiseerd met Puppeteer, heeft u wellicht ontdekt dat er tijdens de tests geen browservenster wordt weergegeven. Standaard start Puppeteer Chrome in Headless -modus. Dit betekent dat er geen daadwerkelijk browservenster is terwijl uw automatisering actief is.

Maar wist u dat de Headless-modus van Chrome niet alleen Chrome-zonder-venster was, maar eigenlijk een volledig afzonderlijk onderhouden versie van Chrome? Lange tijd leidde dat tot verwarring en moeilijk op te sporen bugs en problemen.

Vanaf Chrome 112 hebben we een nieuwe Headless-modus geïntroduceerd, nu gebaseerd op dezelfde codebase als regulier Chrome. Dit vermindert niet alleen de eerdere verwarring, maar brengt ook functionaliteit met zich mee die voorheen niet mogelijk was, zoals het gebruik van extensies tijdens automatisering.

Puppeteer gebruikt deze nieuwe Headless-modus standaard sinds versie 22. Als u Chrome Headless gebruikt via andere automatiseringsoplossingen, kunt u de nieuwe Headless-modus forceren met de opdrachtregeloptie --headless=new .

Hoewel de nieuwe Headless-modus van Chrome krachtiger is, is deze niet zo licht als de oude Headless-modus. Als u weinig middelen heeft of niet alle functies van Chrome nodig heeft, kunt u de oude Headless-modus gebruiken als chrome-headless-shell .

Chroom om te testen

Wanneer u test, heeft u nauwkeurige controle nodig over uw testomgeving: het besturingssysteem, de browser en de browserversie. Met de automatische update van Chrome kan dit lastig zijn.

Daarom hebben we Chrome for Testing gemaakt: een versie van Chrome zonder automatische updates, uitgebracht naast elke versie van Chrome, voor elk belangrijk besturingssysteem, toegankelijk vanuit een versiearchief. Hierdoor kunt u uw automatiseringsworkflows zonder veel gedoe uitvoeren op een specifieke versie van Chrome.

U heeft toegang tot binaire bestanden van Chrome for Testing via het Chrome for Testing-beschikbaarheidsdashboard , de JSON API of met het opdrachtregelprogramma Puppeteer .


Puppeteer, de bijgewerkte Headless-modus van Chrome en Chrome for Testing zijn slechts een deel van het werk dat ons team momenteel doet om de browserautomatisering en het uitvoeren van tests zo soepel mogelijk voor u te laten verlopen. En aanverwante tools, zoals DevTools Recorder , ondersteunen u bij het maken van tests: neem een ​​gebruikersstroom op in Chrome en speel deze opnieuw af in Puppeteer.

Leer testen op web.dev

De tools die in dit bericht worden behandeld, helpen u uw geautomatiseerde tests te verbeteren. Maar als je net begint, kan het veel lijken om te begrijpen en te leren. Daarom hebben we een nieuwe cursus van 10 modules gemaakt : Leer testen op web.dev . Deze diepgaande cursus behandelt de kernconcepten van testen, waar en hoe tests worden uitgevoerd, testtypen en wat er daadwerkelijk moet worden getest. Het is een goed startpunt voor uw testtraject. Zodra u over de essentiële zaken beschikt, kunt u gerust verdergaan met onze Test Automation-collectie met uitgebreide informatie en praktische tips over specifiekere testvragen.