Guia para Adicionar o Atributo data-testid
em Elementos HTML
O atributo data-testid
é usado para selecionar elementos durante testes automatizados de uma aplicação. Ao adicionar esse atributo aos elementos relevantes, você torna seus testes mais robustos e independentes de mudanças na estrutura da aplicação.
Normalmente, utilizamos ids
nos elementos para mapear os componentes e facilitar a criação dos testes automatizados, mas criar testes com base em tags, classes ou id
é muito volátil e altamente sujeito a mudanças (podem ser alterados ao modificar o JavaScript ou o CSS, por exemplo). Portanto, definir o seletor usando data-testid
é uma abordagem melhor, pois ele tem um único propósito.
Para páginas existentes, podemos simplesmente fazer com que o data-testid
tenha o mesmo valor do atributo id
. Apenas tome cuidado para verificar se não há estilizações ou scripts JavaScript utilizando esse id
, caso deseje removê-lo e manter apenas o data-testid
.
Aqui estão algumas diretrizes para adicionar o atributo data-testid
em elementos HTML:
1. Escolha nomes descritivos
Escolha nomes significativos e descritivos para o atributo data-testid
. O nome deve refletir o propósito ou comportamento do elemento no contexto dos testes. Por exemplo, se você estiver testando um formulário de login, pode adicionar o atributo data-testid
com o valor login-form
ao elemento form
.
2. Seja consistente
Mantenha uma convenção consistente ao adicionar o atributo data-testid
. Isso facilita a leitura e manutenção dos testes, especialmente quando várias pessoas estão trabalhando no mesmo projeto. Estabeleça diretrizes claras para o uso desse atributo no código-fonte do projeto.
3. Evite detalhes da implementação
Evite depender de detalhes internos da implementação ao adicionar o atributo data-testid
. Não utilize IDs gerados automaticamente ou estruturas HTML específicas para identificar os elementos. Isso garante que seus testes continuem funcionais mesmo que a estrutura da aplicação mude.
4. Priorize elementos únicos
Sempre que possível, escolha seletores que identifiquem elementos de forma única. Isso aumenta a confiabilidade dos testes e reduz a probabilidade de seleções incorretas. Certifique-se de que cada elemento com o atributo data-testid
tenha um valor único na página.
5. Combine com outros seletores
Em alguns casos, pode ser necessário combinar o atributo data-testid
com outros seletores, como classes ou identificadores HTML, para criar seleções mais específicas. Essa abordagem permite selecionar elementos com base em critérios adicionais, aumentando a precisão dos testes.
Para mais informações e boas práticas sobre testes com Cypress, consulte a documentação de Boas Práticas do Cypress
ou a documentação de Localizadores do Playwright.
Exemplo de Uso
Aqui está um exemplo de como adicionar o atributo data-testid
a um elemento HTML:
<button data-testid="login-button">Login</button>
Comparando seletores com e sem data-testid
:
- Sem
data-testid
: o elemento é selecionado por tag, classe ouid
, o que não é isolado e pode comprometer a estabilidade do teste ao longo do tempo. - Com
data-testid
: o seletor é específico para testes, tornando a identificação mais confiável e estável.