Junior — Middle
Как протича процесът на проверка на софтуера с помощта на скрийншоти?
sobes.tech AI
Отговор от AI
Проверката на софтуера с помощта на скрийншоти е метод за визуално тестване, при който текущият външен вид на интерфейса на приложението се сравнява с референтно изображение. Този подход често се използва за откриване на визуални регресии.
Процесът обикновено включва следните стъпки:
- Автоматично или ръчно заснемане на скрийншоти на определени екрани или компоненти на приложението.
- Запазване на референтните изображения, които се считат за коректни.
- В последващи тестове се прави нов скрийншот на същия елемент.
- Сравняване на новия скрийншот с референтния с помощта на специални инструменти, които откриват разлики (например, по пиксели).
- Ако разликите надхвърлят зададения праг, тестът се счита за неуспешен и се анализират визуалните промени.
Пример за използване в автоматизация с 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 елементите, особено при промени в дизайна или при тестове между различни браузъри.