Vai al contenuto principale

Test OCR

I test automatizzati su app native mobili e siti desktop possono essere particolarmente difficili quando si tratta di elementi privi di identificatori unici. I selettori WebdriverIO standard potrebbero non essere sempre d'aiuto. Entra nel mondo del @wdio/ocr-service, un potente servizio che sfrutta l'OCR (Optical Character Recognition) per cercare, attendere e interagire con elementi sullo schermo in base al loro testo visibile.

I seguenti comandi personalizzati verranno forniti e aggiunti all'oggetto browser/driver in modo da ottenere gli strumenti giusti per svolgere il tuo lavoro.

Come funziona

Questo servizio:

  1. crea uno screenshot del tuo schermo/dispositivo. (Se necessario, puoi fornire un haystack, che può essere un elemento o un oggetto rettangolo, per individuare un'area specifica. Vedi la documentazione di ciascun comando.)
  2. ottimizza il risultato per OCR trasformando lo screenshot in bianco/nero con uno screenshot ad alto contrasto (l'alto contrasto è necessario per prevenire molto rumore di sfondo dell'immagine. Questo può essere personalizzato per comando.)
  3. utilizza Optical Character Recognition da Tesseract.js/Tesseract per ottenere tutto il testo dallo schermo e evidenziare tutto il testo trovato su un'immagine. Può supportare diverse lingue che possono essere trovate qui.
  4. utilizza la Logica Fuzzy da Fuse.js per trovare stringhe che sono approssimativamente uguali a un dato modello (piuttosto che esattamente). Questo significa per esempio che il valore di ricerca Username può anche trovare il testo Usename o viceversa.
  5. Fornisce un wizard da cli (npx ocr-service) per validare le tue immagini e recuperare testo attraverso il terminale

Un esempio dei passaggi 1, 2 e 3 può essere trovato in questa immagine

Passaggi del processo

Funziona con ZERO dipendenze di sistema (oltre a ciò che utilizza WebdriverIO), ma se necessario può anche funzionare con un'installazione locale di Tesseract che ridurrà drasticamente il tempo di esecuzione! (Vedi anche Ottimizzazione dell'Esecuzione dei Test su come velocizzare i tuoi test.)

Entusiasta? Inizia a usarlo oggi seguendo la guida Guida Introduttiva.

Importante

Ci sono una varietà di motivi per cui potresti non ottenere un output di buona qualità da Tesseract. Uno dei motivi principali che potrebbe essere correlato alla tua app e a questo modulo potrebbe essere il fatto che non c'è una corretta distinzione di colore tra il testo che deve essere trovato e lo sfondo. Ad esempio, il testo bianco su sfondo scuro può facilmente essere trovato, ma il testo chiaro su sfondo bianco o il testo scuro su sfondo scuro può essere difficilmente trovato.

Vedi anche questa pagina per ulteriori informazioni da Tesseract.

Non dimenticare inoltre di leggere le FAQ.

Welcome! How can I help?

WebdriverIO AI Copilot