Sobes.tech
Junior — Middle

Как протича процесът на проверка на софтуера с помощта на скрийншоти?

sobes.tech AI

Отговор от 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 елементите, особено при промени в дизайна или при тестове между различни браузъри.