Vanilton Pinheiro
Python Norte 2023
Vanilton Pinheiro
Analista de Sistemas
Cadastre-se para vagas
# O que vamos precisar
Conceitos de teste de software
Conceitos de Playwright
Hands On de prática de teste com Playwright + Pytest
Considerações Finais
# O que veremos
# Conceitos de teste de software
Lento
Rápido
$$$
$
# de testes
# Conceitos de teste de software
# Conceitos de teste de software
1. Navegar
3. Capturar
2. Interagir
4. Esperar
# Conceitos de Playwright
# Conceitos de Playwright
# Conceitos de Playwright
Teste
HTTP Request
Web Socket (TCP)
Abrir o navegador
Clicar no elemento
Comandos
# Instalando com plugin Pytest
pip install pytest-playwright
# Atualizando versão instalada para mais atual
pip install -U pytest-playwright
# Instalando navegadores
playwright install
# Mão na Massa
1. Navegar
3. Capturar
2. Interagir
4. Esperar
# Mão na Massa
#Sigla de navegadores
# cr -> chromium, ff -> firefox, wk -> webkit
# Exemplos de uso via CLI
playwright --help # Opções do executor Playwright
playwright open -b cr https://vanilton.net # Abrir navegador chrome em um site
playwright open --help # Opções do comando open
playwright pdf --timeout 50000 https://google.com meu_pdf.pdf
# Gerar PDF da página
playwright screenshot --timeout 30000 http://vanilton.net ss_full.png
# Gerar imagem PNG da página com um determinado tamanho de tela
playwright screenshot --timeout 30000 --viewport-size "720, 1280" https://vanilton.net ss_portrait.png
# Gravar passos de teste
playwright codegen https://vanilton.net --save-trace trace.zip
# Abrir um trace gravado
playwright show-trace trace.zip
# Mão na Massa
# Mão na Massa
>>> from playwright.sync_api import sync_playwright
>>> playwright = sync_playwright().start()
>>> browser = playwright.chromium.launch(headless=False)
>>> page = browser.new_page()
# Mão na Massa
from playwright.sync_api import Page
def test_basic_test(page: Page):
# ...
# Mão na Massa
from playwright.sync_api import sync_playwright, expect
..
..
expect(locator).to_be_visible()
# Considerações
08/2022
06/2023
# Considerações
vanilton18@gmail.com
Siga-me!