SlimerJS

Na semana passada, apresentei o PhantomJS, uma ferramenta WebKit sem cabeça, que permite fazer capturas de tela, automatizando eventos na página e assim por diante. O PhantomJS é uma excelente ferramenta que faz muitas coisas, mas o fato de estar preso ao mecanismo WebKit não ajuda se o senhor quiser testar outros mecanismos de renderização, como o Firefox. Mais mecanismos, mais problemas.


Felizmente SlimerJS existe. O SlimerJS é muito parecido com o PhantomJS: um sistema de automação baseado em promessas que usa o mecanismo de renderização Gecko do Firefox em vez do WebKit. Vamos dar uma olhada em como automatizar a criação de capturas de tela usando o SlimerJS!


Como criar uma captura de tela


O SlimerJS é baseado em Node.js, portanto, o senhor escreverá o código de captura de tela com JavaScript:



var webpage = require('webpage').create();
webpage
  .open('https://davidwalsh.name')
  .then(function(){
    webpage.render('dwb.png', { onlyViewport: true });
    slimer.exit()
  });


Com seu script escrito, o senhor executará:



slimerjs take-screenshot.js


O SlimerJS tem sua própria ferramenta de linha de comando, que o senhor obterá durante a instalação.


Definição do tamanho da tela


O SlimerJS, assim como o PhatomJS, permite definir a janela de visualização para que o usuário possa fazer capturas de tela em qualquer tamanho:



var webpage = require('webpage').create();
webpage
    .open('https://davidwalsh.name')
    .then(function(){
      webpage.viewportSize = { width: 1042, height: 768 };
      webpage.render('dwb.png', { onlyViewport: true });
      slimer.exit()
    });


… o que também é importante para os testes do Firefox em dispositivos móveis. Recomendo a configuração de um script para tirar capturas de tela em todos os tamanhos populares quando o senhor entregar projetos a um cliente ou simplesmente quiser verificar a integridade do seu site!