Seus seletores de elementos devem ser baseados em texto ou valor?

E chega ao fim a série de contradições em testes de software, inspirada no livro Pride and Paradev, de Alister Scott.

Veja em primeira mão a última contradição…


Ao escrever testes de aceitação automatizados para uma aplicação web, existem diferentes formas de identificar e interagir com elementos web, duas das mais comuns são: usando strings ou valores.

Veja a seguinte lista de chás:

list of tea html

Isto rendereiza da seguinte maneira no navegador:

list of tea rendered

E há duas maneiras de automatizar a seleção de um item desta lista, pela string, tal como “Broken Orange Pekoe” ou pelo valor, como “bop”.

Utilize strings para interagir com os elementos

O benefício de usar strings para identificar e interagir com elementos é que é como o usuário utiliza sua aplicação. Um usuário vai selecionar “Darjeeling” da sua lista de seleção, então porque você não deveria automatizar o mesmo?

Porém, se sua aplicação é internacionalizada e você deseja rodar seus testes automatizados em diferentes línguas, você terá que também traduzir sua seleção, visto que isso vai mudar quando você alterar a língua.

Frameworks modernos de JavaScript como Knockout frequentemente não geram valores para listas de seleção e nestes casos você precisa utilizar strings para interagir estes elementos.

Utilize valores para interagir com os elementos

O benefício de usar valores para interagir com os elementos é que eles são mais resilientes a mudança. Por exemplo, se o item “Earl Grey” mudar para “Earl Gray” e você está automatizando baseado no valor, então seu teste automatizado continuará funcionando já que o valor continuará sendo ‘eg’.

Isso também é a melhor opção se sua aplicação web é internacionalizada e você roda os testes automatizados de aceitação contra diferentes línguas. Enquanto “English Breakfast” pode exibir “Petit Déjeuner Anglais” em Francês, a opção continuará sendo selecionada pelo valor ‘eb’.


Gostou da série? Deixe seu comentário e até a próxima!

 

Anúncios

2 comentários em “Seus seletores de elementos devem ser baseados em texto ou valor?

  1. Poxa…pena que essa série de contradições acabou =/
    Bem, sobre o assunto abordado nessa postagem, eu não mexo com automação… mas ao que tudo indica utilizar valores tem muito mais vantagens do que usar strings, pelo menos não foi apresentada nenhuma desvantagem no post… existe alguma que devemos ficar atentos?

  2. Exato Diego, além disso, eu prefiro ainda mais do que estas abordagens, utilizar seletores CSS, só não os comentei no post, pois foi só uma tradução/adaptação.
    A título de exemplo, um seletor CSS para a lista de chás seria o seguinte: ‘#tea’, que pega o id do select.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s