Automatisering en testen met Chrome

Geautomatiseerd testen van browsers is essentieel voor het bouwen van robuuste, hoogwaardige webapplicaties. Of u nu end-to-end continuous integration (CI)-suites uitvoert, regressietests uitvoert over verschillende browserreleases of browserinteracties automatiseert, Chrome biedt een speciale reeks tools en uitvoeringsmodi die zijn ontworpen voor ontwikkelaars en testautomatiseringsengineers.

Dit overzicht introduceert de kernproducten in het ecosysteem voor automatisering en testen van Chrome : Chrome for Testing , ChromeDriver , Puppeteer en Chrome Headless-modus . Het legt uit hoe je deze producten samen kunt gebruiken voor betrouwbare en reproduceerbare testworkflows.


Chrome voor testdoeleinden

Chrome for Testing is een speciale Chrome-variant die is ontwikkeld voor het testen en automatiseren van webapplicaties.

Bij het uitvoeren van end-to-end testsuites of continuous integration (CI)-pipelines heb je vaak consistente, reproduceerbare resultaten nodig bij herhaalde testruns. In plaats van te vertrouwen op standaard browserinstallaties, kun je met Chrome for Testing specifieke Chrome-versies downloaden en vastzetten voor je testomgevingen.

Belangrijkste kenmerken

  • Downloads op aanvraag met versiebeheer: Krijg toegang tot specifieke, versiebeheerde Chrome-bestanden, zodat u altijd kunt testen met de exacte versie die u kiest.
  • Gekoppelde binaire bestanden voor alle kanalen: Voor elke Chrome-release op alle kanalen ( Stable , Beta , Dev en Canary ) biedt Chrome for Testing bijpassende Chrome-binaire bestanden aan, gekoppeld aan de relevante ChromeDriver-binaire bestanden, evenals de oude Chrome Headless shell ( chrome-headless-shell ) voor degenen die deze nog steeds gebruiken in geautomatiseerde tests.
  • Eenvoudige automatisering van downloads: Binaire bestanden kunnen eenvoudig worden gedownload met behulp van het @puppeteer/browsers commandoregelprogramma of worden opgevraagd via het beschikbaarheidsdashboard.

Leer meer


ChromeDriver

ChromeDriver is een open-source, op zichzelf staande server die de W3C WebDriver-standaard en het bidirectionele WebDriver BiDi-protocol implementeert. Het fungeert als de brug tussen op WebDriver gebaseerde testframeworks (zoals Selenium, WebDriverIO en Nightwatch) en de Chrome-browser.

Belangrijkste kenmerken

  • Ondersteuning voor W3C WebDriver en WebDriver BiDi: Ondersteunt zowel klassieke WebDriver-automatiseringsopdrachten als realtime bidirectionele communicatie via WebDriver BiDi voor snel luisteren naar gebeurtenissen, netwerkmonitoring en het onderscheppen van logboeken.
  • Gezamenlijk uitgebracht met Chrome for Testing: ChromeDriver-releases zijn direct geïntegreerd in de Chrome for Testing-infrastructuur. Voor elke Chrome for Testing-versie wordt tegelijkertijd een bijbehorende ChromeDriver-versie uitgebracht, waardoor problemen met versie-incompatibiliteit worden voorkomen.

Leer meer


Poppenspeler

Puppeteer is een JavaScript-bibliotheek ontwikkeld door Google die een API op hoog niveau biedt om Chrome te besturen via het Chrome DevTools Protocol (CDP) of WebDriver BiDi.

Belangrijkste kenmerken

  • Automatisering zonder configuratie: Puppeteer downloadt standaard automatisch een compatibele Chrome for Testing-binary, waardoor browserautomatisering direct mogelijk is.
  • Volledige controle over Chrome: maak eenvoudig screenshots, genereer pdf's, automatiseer formulierinzendingen, onderschep netwerkverzoeken en voer UI-tests uit in zowel headful- als headless-modus.

Leer meer


Chrome-modus zonder kop

Met de headless-modus van Chrome kunt u Chrome in een onbeheerde omgeving uitvoeren zonder zichtbare gebruikersinterface. Door de vlag --headless aan de commandoregel toe te voegen, werkt Chrome probleemloos in serveromgevingen, containers en CI/CD-pipelines.

Belangrijkste kenmerken

  • Uniforme browserengine: De moderne headless-modus ( --headless ) gebruikt exact dezelfde browserimplementatie als de headful-modus van Chrome.
  • Uitgebreide automatiserings- en debugmogelijkheden: ondersteunt het maken van schermafbeeldingen, het genereren van PDF-bestanden, debuggen op afstand en het configureren van virtuele schermen.

Leer meer


Voorbeeld: Deze producten samen gebruiken

In een typische workflow voor geautomatiseerd testen of continue integratie (CI) werken deze producten samen om een ​​reproduceerbare, geautomatiseerde testomgeving te bieden:

  1. Browserbinair bestand (Chrome voor testen): Gebruik een specifiek, versiegebonden Chrome voor testen- binair bestand, zodat uw testresultaten consistent zijn bij elke uitvoering.
  2. Uitvoeringsmodus (Chrome Headless-modus): Voer dit binaire bestand uit in de Headless-modus ( --headless ) zodat tests probleemloos worden uitgevoerd op servers, containers of CI-pipelines zonder grafische weergave.
  3. Automatiseringsstuurprogramma (Puppeteer of ChromeDriver): Stuur de browser aan met behulp van een automatiseringsbibliotheek zoals Puppeteer of een ander testframework dat is verbonden via WebDriver BiDi .

Puppeteer verbindt deze onderdelen automatisch. Na installatie downloadt het een compatibele Chrome for Testing- binary en start deze standaard in headless-modus .

Bij gebruik van W3C WebDriver-frameworks (zoals Selenium of WebdriverIO) kunt u automatisch een bijpassend paar Chrome for Testing- en ChromeDriver- binaries downloaden en de vlag --headless gebruiken om zonder gebruikersinterface te werken.


Richtlijnen voor bedrijfs- en releasekanalen