Skip to content

Instantly share code, notes, and snippets.

:octocat:
I may be slow to respond.

Igor Ribeiro Lima igorlima

:octocat:
I may be slow to respond.
Block or report user

Report or block igorlima

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@igorlima
igorlima / 0_reuse_code.js
Created Oct 1, 2013
Here are some things you can do with Gists in GistBox.
View 0_reuse_code.js
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
View 5-a-testem-issue.md

The failed tests are not been reported on testem as we expected.

@igorlima
igorlima / Pasta.js
Last active Dec 29, 2015
Introdução de como executar testes unitários em diferentes tipos de navegadores
View Pasta.js
function Pasta() {
// recipes for good pasta sauces
this.sauces = {
'bolognese': ["tomatoes", "garlic", "olive", "herbs", "meat"]
};
this.sauceIngredients = [];
}
Pasta.prototype.add = function (ingredient) {
this.sauceIngredients.push(ingredient);
@igorlima
igorlima / Readme.md
Last active Dec 30, 2015
Introdução ao Selenium 2.
View Readme.md

Gittip Donate Button

Selenium é uma ferramenta de apoio às necessidades de testes em aplicações web. Altamente flexível, permite muitas opções para a localização de elementos de interface no navegador e simular comportamentos reais de um usuário. A versão 2.0 tem como funcionalidade primária a integração da API WebDriver. Projetado para fornecer uma interface ainda mais simples, concisa e orientada a objeto, o que melhora de forma significativa o suporte aos problemas complexos que são enfrentados ao testar uma aplicação web.

Essa API pode ser chamada através de diversas linguagem de programação, porém, em nosso exemplo, iremos utilizar o NodeJS (JavaScript), que pode ser baixado no site oficial e que possui um gerenciador de pacotes (Node Package Manager – NPM), o qual p

@igorlima
igorlima / Readme.md
Last active Dec 31, 2015
JavaScript de forma assíncrona e legível
View Readme.md

Gittip Donate Button

A programação assíncrona possui a vantagem de gerar códigos perfomáticos. Em certos casos, a implementação de diversas funções assíncronas encadeadas através de funções callback pode prejudicar a leitura e a manutenção do código. Para demonstrar esse encadeamento, vamos utilizar um trecho de código que utiliza a API do Selenium 2. Baseado em um exemplo do site do SauceLabs.

A API do Selenium WebDriver pode ser utilizada por diversas linguagem de programação, porém, em nosso exemplo, iremos utilizar o NodeJS (JavaScript) e o gerenciador de pacotes NPM, que podem ser baixados no site oficial. O NPM é necessário para instalar o PhantomJS e o WD, utilizando o seguinte script:

``npm install -g

@igorlima
igorlima / README.md
Last active Sep 12, 2019
Exemplo de como escrever história de usuário e teste de aceitação com JavaScript
View README.md

Gittip Donate Button

História de usuário é uma descrição resumida de alguma funcionalidade do sistema sob o ponto de vista do usuário. Cada história deve ter valor de negócio na visão do cliente e é uma pequena parte da funcionalidade, não necessariamente uma especificação completa, o que minimiza a necessidade de uma extensa documentação.

A história de usuário é escrita pelo próprio cliente e, também, serve para conduzir a criação de teste de aceitação, o qual tem o propósito de avaliar a qualidade externa do produto e, na medida do possível, a qualidade de uso e experiência do usuário. A automatização dos testes de aceitação é criada para certificar de que a história foi implementada corretamente.

Nesse exemplo é preciso a instalação do NodeJS e do Node Package Manager (NPM), que podem ser baixados no site oficial. O NPM é necessário para instalar o [CucumberJS](https://github.co

@igorlima
igorlima / Calculadora.js
Last active Jan 1, 2016
Desenvolvimento dirigido a comportamento com JasmineJS
View Calculadora.js
'use strict';
module.exports = (function() {
var Calculadora = {
somar: function() {
var soma = 0, i = undefined;
for( i=0; i < arguments.length; i++ )
soma += arguments[i];
@igorlima
igorlima / README.md
Last active Feb 3, 2018
Alternativa para executar testes unitários em diferentes tipos de navegadores
View README.md

Gittip Donate Button

BrowserStack é uma plataforma de teste que possibilita realizar testes automáticos ou manuais em aplicações móveis e web em diversos navegadores, incluindo navegadores como Internet Explorer, Opera, Safari, Android, iPhone, Chrome etc. Plataforma bastante parecida com o SauceLabs, mas infelizmente não possui nenhum plano gratuito, só há um curto período para teste (o suficiente para podermos fazer um pequeno experimento).

Essa plataforma permite executar os testes em diversas linguagem de programação, porém, em nosso exemplo, iremos utilizar o NodeJS (JavaScript) e o Node Package Manager (NPM), que podem ser baixados no site oficial. É necessário o NPM para instalar o Karma, o PhantomJS e o WD, digitando o segui

@igorlima
igorlima / README.md
Last active Aug 29, 2015
Visualizando página responsiva em diversos navegadores
View README.md

Gittip Donate Button

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

@igorlima
igorlima / Procfile
Last active Sep 14, 2017
Artigo Tableless - Como publicar aplicação NodeJS no Heroku
View Procfile
web: node server.js
You can’t perform that action at this time.