Hoppa till huvudinnehåll

OCR-testning

Automatiserad testning på mobila appar och skrivbordswebbplatser kan vara särskilt utmanande när man hanterar element som saknar unika identifierare. Vanliga WebdriverIO-selektorer kanske inte alltid hjälper dig. Då kommer @wdio/ocr-service in i bilden, en kraftfull tjänst som använder OCR (Optical Character Recognition) för att söka efter, vänta på och interagera med element på skärmen baserat på deras synliga text.

Följande anpassade kommandon kommer att tillhandahållas och läggas till i browser/driver-objektet så att du får rätt verktyg för att utföra ditt arbete.

Hur fungerar det

Denna tjänst kommer att

  1. skapa en skärmdump av din skärm/enhet. (Vid behov kan du tillhandahålla en haystack, som kan vara ett element eller ett rektangelobjekt, för att precisera ett specifikt område. Se dokumentationen för varje kommando.)
  2. optimera resultatet för OCR genom att omvandla skärmdumpen till svartvitt med hög kontrast (den höga kontrasten behövs för att förhindra mycket bakgrundsbrus i bilden. Detta kan anpassas per kommando.)
  3. använder Optical Character Recognition från Tesseract.js/Tesseract för att hämta all text från skärmen och markera all hittad text på en bild. Den kan stödja flera språk som kan hittas här.
  4. använder Fuzzy Logic från Fuse.js för att hitta strängar som är ungefär lika med ett givet mönster (snarare än exakt). Det betyder till exempel att sökvärdet Username också kan hitta texten Usename eller vice versa.
  5. Tillhandahåller en cli-guide (npx ocr-service) för att validera dina bilder och hämta text genom din terminal

Ett exempel på steg 1, 2 och 3 kan hittas i denna bild

Process steps

Det fungerar med NOLL systemberoenden (förutom vad WebdriverIO använder), men vid behov kan det också fungera med en lokal installation av Tesseract vilket kommer att minska körningstiden drastiskt! (Se även Test Execution Optimization om hur du kan snabba upp dina tester.)

Entusiastisk? Börja använda det idag genom att följa Kom igång-guiden.

Viktigt

Det finns en mängd anledningar till att du kanske inte får bra kvalitet på utdata från Tesseract. En av de största anledningarna som kan vara relaterade till din app och denna modul kan vara att det inte finns ordentlig färgskillnad mellan texten som behöver hittas och bakgrunden. Till exempel kan vit text på en mörk bakgrund lätt hittas, men ljus text på en vit bakgrund eller mörk text på en mörk bakgrund kan knappt hittas.

Se även denna sida för mer information från Tesseract.

Glöm inte heller att läsa FAQ.

Welcome! How can I help?

WebdriverIO AI Copilot