Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testes e automação com PhantomJS e CasperJS

Testes e automação com PhantomJS e CasperJS

Henrique Vicente

August 14, 2013
Tweet

More Decks by Henrique Vicente

Other Decks in Programming

Transcript

  1. Testes e automação com PhantomJS e CasperJS Henrique Vicente https://github.com/henvic/phantom-casper-simple-talk

    https://speakerdeck.com/henvic/testes-e-automacao-com-phantomjs-e-casperjs 2nd-open-meeting-pernambucojs Wednesday, August 14, 13
  2. phantomjs.org casperjs.org Instalação fácil * O site de CasperJS “recomenda”

    o 1.1-beta, ao invés do 1.0 (estável) Wednesday, August 14, 13
  3. testes de integração [mais rápidos] web scraping automação (i.e., inserção

    de dados em massa) renderização remota (e.g., gerar PDF a partir de template em HTML e CSS para envio automático de relatórios via email) Wednesday, August 14, 13
  4. Um web stack baseado no WebKit com uma API em

    JavaScript Feito com Webkit, Qt (não node.js) headless Remote debugging GhostDriver: web driver para Selenium Wednesday, August 14, 13
  5. page.evaluate() magic O código é executado no contexto da página,

    dentro de uma sandbox “um console.log(“foo”) dentro do evaluate() é diferente de um console.log(“foo”) fora” Wednesday, August 14, 13
  6. PhantomJS API Objeto phantom Vários módulos 1. webpage 2. system

    3. fs 4. webserver 5. child_process Você pode criar seu próprio módulo Wednesday, August 14, 13
  7. Módulo System Propriedades: pid platform os env args parâmetros como

    em git --commit “foo” Wednesday, August 14, 13
  8. WebServer, child_process... WebServer Permite a criação de um servidor web

    child_process Torna possível a invocação de subprocessos e comunicar com eles via stdin / stdout / stderr Wednesday, August 14, 13
  9. Framework para testes desenvolvida em JavaScript Funciona em cima do

    PhantomJS, e mais recentemente também do SlimerJS (baseado em Gecko) Também possui módulos, como o PhantomJS (alguns similares) Wednesday, August 14, 13
  10. Teste funcional com o CasperJS Verificando se o WordPress está

    funcionando corretamente: - login - botão para carregar formulário de novo post - editor do formulário - criação do formulário - etc Wednesday, August 14, 13
  11. Fim Testes e automação com PhantomJS e CasperJS Henrique Vicente

    https://github.com/henvic/phantom-casper-simple-talk https://speakerdeck.com/henvic/testes-e-automacao-com-phantomjs-e-casperjs 2nd-open-meeting-pernambucojs Wednesday, August 14, 13