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!