2010
03.27

No post onde abordei a configuração do Webrat em modo Selenium surgiu uma dúvida do Diego sobre timeout quando estamos testando algo que depende de retorno via AJAX. Como a dúvida é recorrente, decidi mostrar como resolver isso no seu framework JavaScript preferido.

A chave de tudo está no método waitForCondition do Selenium que como o próprio nome  já diz, faz a execução aguardar até que determinada condição seja satisfeita. Utilizaremos o waitForCondition para aguardar até não existirem requisições AJAX pendentes, a forma de fazer isso depende do framework que você utiliza:

Ler mais >>

2010
03.13

Muitas vezes quando vamos manipular (X)HTML via Javascript é necessário prover metadados de alguma forma. O caso mais comum é utilizar atributos não padrões nas tags (X)HTML:

<a href="#" class="popup" title="Veja o popup!"
  titulo_do_popup="Titulo para o popup">Clique-me</a>
   

Um dos mitos do HTML é que ao utilizarmos atributos fora da especificação estamos tornando nosso código não padrão. Mito esse que inclusive precisou ser rebatido pelo pessoal do Dojo Toolkit que usa esse recurso extensivamente.

Custom attributes have always been valid HTML [...] The HTML specification states that any attribute not recognized is to be ignored by the HTML rendering engine in user agents, and Dojo optionally takes advantage of this to improve ease of development.

Ler mais >>

2010
03.04

Pesquisando sobre Acceptance Test Driven Development esbarrei nessa apresentação compartilhada por Naresh Jain em meados de 2008 com foco no Fitnesse. Achei muito interessante o alerta que ele dá sobre como não se fazer testes de aceitação:

Desenvolvedores escrevendo testes de aceitação por eles mesmos, para eles mesmos

Testes de aceitação são para colaboração e comunicação. Usá-los apenas para testes é subutilizar o potencial. Todos os interessados na funcionalidade devem estar envolvidos na construção dos testes de aceitação.

Ler mais >>

2010
03.01

O Webrat é uma ferramenta fantástica mas que possui uma limitação severa: não consegue dar conta sozinho de funcionalidades que dependam de Javascript. Como é difícil imaginar uma aplicação web hoje que não faça uso de AJAX e como infelizmente nem toda funcionalidade que envolva javascript é possível de ser degradada, precisamos então de uma alternativa.

O objetivo desse post é mostrar como configurar o Cucumber para utilizar Webrat em modo Selenium quando conveniente com reaproveitamento quase total das definições de passos e permitindo também o uso de Selenium nativo nos casos onde não existe paralelo na API do Webrat.

Ler mais >>