Nesse artigo vou mostrar rapidamente como tirar um Print Screen da página inicial de seu site utilizando diversos dispositivos. Algo que pode facilitar e muito a vida caso esteja desenvolvendo uma página responsiva.
Nesse exemplo vamos utilizar o NodeJS e o Selinium 2. As outras dependências necessárias estão especificadas no arquivo package.json. Arquivo que é usado para fornecer ao gerenciador de pacotes NPM informações de como lidar com as dependências do projeto, a descrição do projeto, a licença utilizada, dentre outras.
Para facilitar nossa vida vamos utilizar um serviço de Cloud do SauceLabs. Esse serviço permite utilizar diversos tipos de navegadores. Logo logo estarei escrevendo outros artigos utilizando outros tipos de serviços como por exemplo o BrowserStack. Todos esses serviços de Cloud fornecem uma chave de acesso. Para criar uma conta, basta acessar a página de cadastro e preencher o formulário. Posso te assegurar que o cadastro é simples e rápido.
Tendo a chave de acesso em mãos, vamos executar o script disponibilizado no seguinte gist. E magicamente teremos um print screen da página inicial do site do Tableless:
git clone https://gist.github.com/9875745.git visualizao-pagina-web
npm install
node script.js -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --url 'http://tableless.com.br/' --screenshot 'printscreen-da-pagina-do-tableless.png'
Esse script utiliza como padrão a última versão do navegador Chrome. Para utilizar outros navegadores é preciso especificar via parâmetros. Detalhes de cada parâmetro são obtidos utilizando --help. Existe uma lista com centenas de navegadores e dispositivos, os quais podem ser vistos no seguinte link. Segue abaixo dois exemplos de como visualizar o site do Tableless em um tablet com Android e em um iPhone:
node script.js -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --url 'http://tableless.com.br/' --screenshot 'printscreen-tableless-android.png' -b 'android' -p 'Linux' -v '4.0' --deviceType tablet --deviceOrientation landscape
node script.js -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY --url 'http://tableless.com.br/' --screenshot 'printscreen-tableless-iphone.png' -b 'iphone' -p 'OS X 10.9' -v '7.0'
O resultado é ilustrado na imagem abaixo.
Caso se interessem e queiram modificar o script utilizado acima, fiquem a vontade. Para um melhor entendimento do script, deem uma lida nos seguintes artigos: (i) Introdução de como executar testes unitários em diferentes tipos de navegadores e (ii) JavaScript de forma assíncrona e legível. Espero que tenham gostado. Até a próxima.