Перейти до основного вмісту

Початок роботи

Встановлення

Найлегший спосіб - зберігати @wdio/ocr-service як залежність у вашому package.json через.

npm install @wdio/ocr-service --save-dev

Інструкції щодо встановлення WebdriverIO можна знайти тут.

примітка

Цей модуль використовує Tesseract як OCR двигун. За замовчуванням, він перевірить, чи маєте ви локальну інсталяцію Tesseract встановлену у вашій системі, якщо так, він використовуватиме її. Якщо ні, він використовуватиме Node.js Tesseract.js модуль, який автоматично встановлюється для вас.

Якщо ви хочете прискорити обробку зображень, рекомендується використовувати локально встановлену версію Tesseract. Дивіться також Час виконання тесту.

Інструкції щодо встановлення Tesseract як системної залежності на вашу локальну систему можна знайти тут.

обережно

Для питань/помилок встановлення Tesseract, будь ласка, зверніться до проекту Tesseract.

Підтримка Typescript

Переконайтеся, що ви додали @wdio/ocr-service до вашого конфігураційного файлу tsconfig.json.

tsconfig.json
{
"compilerOptions": {
"types": ["node", "@wdio/globals/types", "@wdio/ocr-service"]
}
}

Конфігурація

Щоб використовувати сервіс, вам потрібно додати ocr до вашого масиву сервісів у wdio.conf.ts

// wdio.conf.js
exports.config = {
//...
services: [
// your other services
[
"ocr",
{
contrast: 0.25,
imagesFolder: ".tmp/",
language: "eng",
},
],
],
};

Опції конфігурації

contrast

  • Тип: number
  • Обов'язково: Ні
  • За замовчуванням: 0.25

Чим вищий контраст, тим темніше зображення і навпаки. Це може допомогти знайти текст у зображенні. Приймає значення між -1 та 1.

imagesFolder

  • Тип: string
  • Обов'язково: Ні
  • За замовчуванням: {project-root}/.tmp/ocr

Папка, в якій зберігаються результати OCR.

примітка

Якщо ви надаєте власну imagesFolder, сервіс автоматично додасть до неї підпапку ocr.

language

  • Тип: string
  • Обов'язково: Ні
  • За замовчуванням: eng

Мова, яку Tesseract буде розпізнавати. Більше інформації можна знайти тут, а підтримувані мови можна знайти тут.

Логи

Цей модуль автоматично додає додаткові логи до логів WebdriverIO. Він пише в логи INFO та WARN з іменем @wdio/ocr-service. Приклади можна знайти нижче.

...............
[0-0] 2024-05-24T06:55:12.739Z INFO @wdio/ocr-service: Adding commands to global browser
[0-0] 2024-05-24T06:55:12.750Z INFO @wdio/ocr-service: Adding browser command "ocrGetText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrGetElementPositionByText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrWaitForTextDisplayed" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrClickOnText" to browser object
[0-0] 2024-05-24T06:55:12.751Z INFO @wdio/ocr-service: Adding browser command "ocrSetValue" to browser object
...............
[0-0] 2024-05-24T06:55:13.667Z INFO @wdio/ocr-service:getData: Using system installed version of Tesseract
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: It took '0.351s' to process the image.
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: The following text was found through OCR:
[0-0]
[0-0] IQ Docs API Blog Contribute Community Sponsor Next-gen browser and mobile automation Welcome! How can | help? i test framework for Node.js Get Started Why WebdriverI0? View on GitHub Watch on YouTube
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:getData: OCR Image with found text can be found here:
[0-0]
[0-0] .tmp/ocr/desktop-1716533713585.png
[0-0] 2024-05-24T06:55:14.019Z INFO @wdio/ocr-service:ocrGetElementPositionByText: We searched for the word "Get Started" and found one match "Started" with score "63.64
...............

Welcome! How can I help?

WebdriverIO AI Copilot