Sobes.tech
Junior — Middle

Como é realizado o processo de verificação do software usando capturas de tela?

sobes.tech IA

Resposta da IA

A verificação de software através de capturas de ecrã é um método de teste visual em que a aparência atual da interface da aplicação é comparada com uma imagem de referência. Esta abordagem é frequentemente utilizada para detectar regressões visuais.

O processo geralmente inclui os seguintes passos:

  1. Captura automática ou manual de capturas de ecrã de telas ou componentes específicos da aplicação.
  2. Armazenamento das imagens de referência, consideradas corretas.
  3. Em testes subsequentes, tira-se uma nova captura de ecrã do mesmo elemento.
  4. Compara-se a nova captura com a de referência usando ferramentas especiais que detectam diferenças (por exemplo, ao nível dos pixels).
  5. Se as diferenças excederem um limiar definido, o teste é considerado falhado e as alterações visuais são analisadas.

Exemplo de uso em automação com Python e a biblioteca Selenium e 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  # Existem diferenças
    return True  # As capturas coincidem

# No teste, tira-se uma captura e compara-se
browser = webdriver.Chrome()
browser.get('https://example.com')
browser.save_screenshot('current.png')

if not compare_screenshots('baseline.png', 'current.png'):
    print('Alterações visuais detectadas!')
else:
    print('Conformidade visual confirmada.')

browser.quit()

Assim, a verificação por capturas de ecrã ajuda a controlar a aparência e os elementos da interface de utilizador, especialmente útil em alterações de design ou testes entre navegadores.