Slide 1

Slide 1 text

GURU - SP Testando aplicações Rails com Playwright

Slide 2

Slide 2 text

Cirdes Henrique - Cidão • CTO @ Linkana • CTO @ Eventick (adquirida pela Sympla) • Membro do Frevo on Rails • Organizador do Tropical Ruby • Empreendedor YCombinator

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Vamos começar com algumas perguntas…

Slide 5

Slide 5 text

O que vocês utilizam de JS no Frontend? Vue, React, Hotwire?

Slide 6

Slide 6 text

Quem costuma escrever testes end-to- end?

Slide 7

Slide 7 text

Qual biblioteca vocês utilizam para escrever testes e2e?

Slide 8

Slide 8 text

Atenção Eu nunca testei o Cypress

Slide 9

Slide 9 text

Mundo “sem” JavaScript

Slide 10

Slide 10 text

Mundo com muito JavaScript

Slide 11

Slide 11 text

Como era antes…

Slide 12

Slide 12 text

Buscando uma Solução de RPA em 2018

Slide 13

Slide 13 text

RPA no enterprise

Slide 14

Slide 14 text

RPA no enterprise

Slide 15

Slide 15 text

O que tinha acontecido em 2017 • It's considered to be the fi rst "modern" browser automation tool, superseding projects like Selenium and PhantomJS

Slide 16

Slide 16 text

Vantagens do Puppeteer • Controle total do navegador • Ambiente de teste confiável • Renderização JavaScript completa • Captura de screenshots e vídeos • Fácil de instalar e configurar • Fácil de rodar em ambientes “serverless”

Slide 17

Slide 17 text

Puppeteer no começo

Slide 18

Slide 18 text

Primeira versão do RPA funcionando

Slide 19

Slide 19 text

Edge baseado em Chromium

Slide 20

Slide 20 text

JavaScript Drama (2020) • Playwright started in 2020 after Microsoft bought hired a few of the core Puppeteer maintainers. • Andrey Lushnikov, Maksim Sisov, Aleksandr Tukallo

Slide 21

Slide 21 text

Vantagens do Playwright • Múltiplos navegadores (Chromium, WebKit e Firefox) • Execução de testes e automações em paralelo em diferentes navegadores • Suporte a dispositivos móveis • Ecossistema de teste (Jest e Mocha) • Imagem docker • Facilidade de baixar arquivos

Slide 22

Slide 22 text

Vantagens do Puppeteer

Slide 23

Slide 23 text

Playwright na prática com codegen

Slide 24

Slide 24 text

Locate by text

Slide 25

Slide 25 text

Legal… mas como utilizar com o Rails?

Slide 26

Slide 26 text

Integrando com o FactoryBot

Slide 27

Slide 27 text

Integrando com o FactoryBot

Slide 28

Slide 28 text

Cirdes Henrique 2023