Как обрабатывать несколько распространенных кодов проверки при автоматизированном тестировании и как их реализовать?
Как обрабатывать несколько распространенных кодов проверки при автоматизированном тестировании и как их реализовать?

Во время автоматического тестирования пользовательского интерфейса необходимо распознать и обработать коды проверки. Существует множество способов, каждый из которых имеет свои особенности. Ниже приведены некоторые часто используемые методы обработки (только для справки).

1 Удалить код подтверждения

  • Из сути автоматизации,В основном для повышения эффективности тестирования и т. д.,Но чтобы изучить Проверочный код и продвижение Эффективность распознавания кода требует относительно больших затрат времени;
  • Удаление Проверочного кода, несомненно, самый простой способ.,И для развития это сделано,Это тоже не так уж и много работы;
  • Однако рекомендуется использовать его в тестовой среде и отключать в производственной среде из соображений безопасности.

2 Установите универсальный код

  • Это предпочтительный метод обработки автора, когда я впервые начал заниматься автоматизацией;
  • Потому что он был протестирован Проверочным. функция кода кода, и нет необходимости тратить слишком много сил на изучение того, как выполнить Проверочный идентификация кода;
  • Кроме того, для разработки также очень просто собрать универсальный Проверочный код;
  • Это также очень удобно и эффективно для людей, которые пишут автоматизированные сценарии;
  • Но этот универсальный Проверочный Код Только соответствующий персонал должен знать, чтобы избежать потенциальных угроз безопасности.

3 Зарезервировать ресурс

  • Немного Проверочный код на самом деле является графическим ресурсом;
  • По сути, это случайный выбор одной из указанной библиотеки ресурсов папки, тогда вам нужно всего лишь удалить все картинки на сервере и оставить только одну;
  • Грубо говоря, это равносильно исправлению Проверочного кода.

4 Оптическое распознавание символов

  • На самом деле это пройденоPython-tesseractМодуль может распознавать только Проверочный код;
  • Python-tesseractдаоптическое распознавание символовTesseract OCRизpythonКласс инкапсуляции;
  • Он может читать большинство обычных файлов изображений.,напримерJPG、GIF、PNG、TIFFждать;
  • Автор тоже пробовал,Потому что теперь картинки Проверочного кода становятся всё сложнее и сложнее.,На самом деле, иногда уровень распознавания не высок;
  • Попробуем использовать его ниже.

4.1 Идентификация объектов

  • Мы собрали несколько фотографий Проверочного. код (из интернета,Только для справки):Слева направодаimage01.jpg-image04.jpg:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4.2 установка pytesseract

  • Просто используйте команду, чтобы установить его напрямую:
Язык кода:python
кодКоличество запусков:0
копировать
pip install pytesseract
Вставьте сюда описание изображения
Вставьте сюда описание изображения

4.3 Установка подушки

  • Используйте команду напрямую:
Язык кода:python
кодКоличество запусков:0
копировать
pip install Pillow
Вставьте сюда описание изображения
Вставьте сюда описание изображения

4.4 Установка оптического распознавания символов

  • Просто скачайте его напрямую:Официальный сайт ОКР
  • Выберите соответствующую версию для загрузки:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Следуйте инструкциям для завершения установки:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения
  • Настройка переменных среды,Добавьте его корневой каталог вpathв переменных среды:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4.5 Принцип признания

  • Основная идея заключается в выводе текста изображения посредством уменьшения шума изображения, обрезки изображения и т. д.;
  • Шумоподавление изображения заключается в удалении из изображения некоторой ненужной информации, такой как фон, интерференционные пиксели, интерференционные линии и т. д.
  • Если Проверочный код имеет цветной фон,Фактически это означает размещение каждого пикселя в пятимерном пространстве.,Прямо сейчасX、Y、R、G、B
  • X、Yда Пиксельиз Двумерные плоские координаты,RGB代表Пиксель所对应изцвет。

4.6 Обработка

4.6.1 Преобразование в обработку в оттенках серого

  • Импортируйте необходимые пакеты:
Язык кода:python
кодКоличество запусков:0
копировать
from PIL import Image
  • Откройте изображение, которое хотите проанализировать:
Язык кода:python
кодКоличество запусков:0
копировать
image = Image.open("./image01.jpg")
  • Преобразование цветного изображения в изображение в оттенках серого(RGBконвертировать вHSIцветовое пространство),использоватьLмасса:
Язык кода:python
кодКоличество запусков:0
копировать
# Цвет в оттенки серого
img_01 = image.convert("L")
img_01.show()
  • Вышеуказанное завершенокоддля(использоватьimage01.jpg):
Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 14.11.2023 
# Имя файла: test_tesseract.py
# эффект:OCRПроверочный идентификация кода


# Импортировать пакет изображений
from PIL import Image

# открыть изображение
image = Image.open("./image01.jpg")
# Цвет в оттенки серого
img_01 = image.convert("L")
img_01.show()
  • Изображение после преобразования в оттенки серого выглядит следующим образом:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4.6.2 Обработка бинаризации

  • Обычно используемый метод сегментации изображений — бинаризация;
  • Бинаризация – это когда бинарное изображение,Установите для пикселей, превышающих определенное критическое значение оттенков серого, максимальное значение оттенков серого.,Установите для оттенков серого пикселей меньше этого значения минимальное значение оттенков серого.,Диапазон значений является общимдля0-1
  • Алгоритмы бинаризации разные,Можно разделить на фиксированный порог и адаптивный порог.,например Этот фиксированный порог выглядит следующим образом:(использоватьimage02.jpg):
Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 14.11.2023 
# Имя файла: test_tesseract.py
# эффект:OCRПроверочный идентификация кода


# Импортировать пакет изображений
from PIL import Image

# открыть изображение
image = Image.open("./image02.jpg")
# Бинаризация
img_02 = image.point(lambda x:0 if x<143 else 255)
img_02.show()
  • Эффект после бинаризации:
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Комбинируем первые два метода,Пучокimage03.jpgСначала оттенки серого, а затем Бинаризация Пост-выход соответствуетизхарактер:
Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 14.11.2023 
# Имя файла: test_tesseract.py
# эффект:OCRПроверочный идентификация кода


# Импортировать пакет изображений
from PIL import Image
from pytesseract import pytesseract

# открыть изображение
image = Image.open("./image03.jpg")

# Обработка оттенков серого
img_new = image.convert("L")
# Бинаризация
img_03 = img_new.point(lambda x:0 if x<143 else 255)
img_03.show()
out_img = pytesseract.image_to_string(img_03)
print(out_img)
  • image03.jpgИсходное изображение и эффект постобработки:
Вставьте сюда описание изображения
Вставьте сюда описание изображения
  • Вывод результата:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

4.6.3 Улучшение изображения

  • Чтобы устранить дополнительные помехи, мы можем использовать расширенное отображение изображения или преобразовать изображение в черно-белое;
  • Продолжаем добавлять выше:
Язык кода:python
кодКоличество запусков:0
копировать
from PIL import ImageEnhance

img_enh = ImageEnhance.Contrast(img_03)
img_enh01 = img_enh.enhance(4)
img_enh01 .show()

out_img = pytesseract.image_to_string(img_enh01)
Вставьте сюда описание изображения
Вставьте сюда описание изображения

4.6.4 Полный код

  • насиспользоватьimage04.jpgПолный выводкод:
Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding:utf-8 -*-
# автор:Насекомые без границ
# Дата: 14.11.2023 
# Имя файла: test_tesseract.py
# эффект:OCRПроверочный идентификация кода


# Импортировать пакет изображений
from PIL import Image
from pytesseract import pytesseract
from PIL import ImageEnhance

# открыть изображение
image = Image.open("./image04.jpg")

# Обработка оттенков серого
img_new = image.convert("L")

# Бинаризация
img_04 = img_new.point(lambda x:0 if x<143 else 255)

# улучшение изображения
img_enh = ImageEnhance.Contrast(img_04)
img_enh01 = img_enh.enhance(4)

# Обработанное изображение
img_enh01.show()

# Извлечь текст изображения
out_img = pytesseract.image_to_string(img_enh01)
print(out_img)
  • Эффект до и после лечения:
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

5 платформа кодирования

  • Кроме того, мы можем использовать платформу кодирования для извлечения текста из изображений, таких как Супермен, иллюстрированные книги, Фейфей и т. д.;
  • Например, иллюстрированная платформа,Вы можете обратиться к немуизРазработочная документация
    Вставьте сюда описание изображения
    Вставьте сюда описание изображения

6 Регистрация файлов cookie

  • Добавляя значение, передаваемое при успешном входе в системуизcookieчтобы пропустить вход в систему;
  • существоватьseleniumсерединаиспользоватьadd_cookie()метод будет имя пользователя и парольждать Данные для входа записываются в браузеризcookieсередина,Читайте прямо из браузера при повторном входе в системуcookieПрямо сейчас Может。
  • код Опустите последующие дополнения здесь.

ЯсуществоватьучаствоватьНа третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будет проводиться конкурс сочинений. Соберите команду, чтобы выиграть приз!

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose