Перейти к основному содержанию

Тестирование OCR

Автоматизированное тестирование мобильных нативных приложений и настольных сайтов может быть особенно сложным при работе с элементами, не имеющими уникальных идентификаторов. Стандартные селекторы WebdriverIO не всегда могут помочь вам. Представляем @wdio/ocr-service, мощный сервис, использующий OCR (Оптическое распознавание символов) для поиска, ожидания и взаимодействия с экранными элементами на основе их видимого текста.

Следующие пользовательские команды будут предоставлены и добавлены к объекту browser/driver, чтобы вы получили нужный набор инструментов для работы.

Как это работает

Этот сервис:

  1. создает скриншот вашего экрана/устройства. (При необходимости вы можете указать область поиска, которая может быть элементом или прямоугольным объектом, чтобы указать конкретную область. См. документацию для каждой команды.)
  2. оптимизирует результат для OCR, преобразуя скриншот в черно-белое изображение с высоким контрастом (высокий контраст необходим для предотвращения большого количества фонового шума изображения. Это можно настроить для каждой команды.)
  3. использует Оптическое распознавание символов из Tesseract.js/Tesseract для получения всего текста с экрана и выделения всего найденного текста на изображении. Он поддерживает несколько языков, которые можно найти здесь.
  4. использует нечеткую логику из Fuse.js для поиска строк, которые приблизительно равны заданному шаблону (а не точно). Это означает, например, что поисковое значение Username также может найти текст Usename или наоборот.
  5. Предоставляет мастер командной строки (npx ocr-service) для проверки ваших изображений и извлечения текста через терминал

Пример шагов 1, 2 и 3 можно увидеть на этом изображении

Этапы обработки

Он работает с НУЛЕВЫМИ системными зависимостями (кроме того, что использует WebdriverIO), но при необходимости также может работать с локальной установкой Tesseract, что значительно сократит время выполнения! (См. также Оптимизация выполнения тестов о том, как ускорить ваши тесты.)

Заинтересовались? Начните использовать его сегодня, следуя руководству Начало работы.

Важно

Существует множество причин, по которым вы можете не получить качественный результат от Tesseract. Одна из главных причин, которая может быть связана с вашим приложением и этим модулем, может заключаться в том, что нет надлежащего цветового различия между текстом, который нужно найти, и фоном. Например, белый текст на темном фоне можно легко найти, но светлый текст на белом фоне или темный текст на темном фоне найти сложно.

См. также эту страницу для получения дополнительной информации от Tesseract.

Также не забудьте прочитать FAQ.

Welcome! How can I help?

WebdriverIO AI Copilot