Sobes.tech
Back to questions
Junior — Middle
87

Каким образом осуществляется процесс проверки программного обеспечения с помощью скриншотов?

Companies where asked
Золотое ЯблокоЗолотое Яблоко

Answer from AI

sobes.tech AI

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

Процесс обычно включает следующие шаги:

  1. Автоматический или ручной захват скриншотов определённых экранов или компонентов приложения.
  2. Сохранение эталонных изображений, которые считаются корректными.
  3. При последующих тестах делается новый скриншот того же элемента.
  4. Сравнение нового скриншота с эталонным с помощью специальных инструментов, которые выявляют различия (например, по пикселям).
  5. Если различия превышают заданный порог, тест считается проваленным, и визуальные изменения анализируются.

Пример использования в автоматизации на Python с библиотекой Selenium и Pillow:

from selenium import webdriver
from PIL import Image, ImageChops

def compare_screenshots(img1_path, img2_path):
    img1 = Image.open(img1_path)
    img2 = Image.open(img2_path)
    diff = ImageChops.difference(img1, img2)
    if diff.getbbox():
        return False  # Есть различия
    return True  # Скриншоты совпадают

# В тесте делаем скриншот и сравниваем
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Визуальные изменения обнаружены!')
else:
    print('Визуальное соответствие подтверждено.')

browser.quit()

Таким образом, проверка с помощью скриншотов помогает контролировать внешний вид и UI-элементы, особенно полезна при изменениях дизайна или кроссбраузерном тестировании.