# Diretrizes e recomendações

> Guias e recomendações ao preparar soluções de testes com o projecto Selenium.

URL: https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/

---

Uma nota sobre "Melhores práticas": evitamos intencionalmente a frase "Melhores
Práticas" nesta documentação. Nenhuma abordagem funciona para todas as situações.
Preferimos a ideia de "Diretrizes e Recomendações". Nós encorajamos
que você leia e decida cuidadosamente quais abordagens
funcionarão para você em seu ambiente específico.

O teste funcional é difícil de acertar por muitos motivos.
Como se o estado, a complexidade e as dependências do aplicativo não tornassem o teste suficientemente difícil,
lidar com navegadores (especialmente com incompatibilidades entre navegadores)
torna a escrita de bons testes um desafio.

Selenium fornece ferramentas para facilitar a interação funcional do usuário,
mas não o ajuda a escrever suítes de teste bem arquitetadas.
Neste capítulo, oferecemos conselhos, diretrizes e recomendações
sobre como abordar a automação funcional de páginas da web.

Este capítulo registra os padrões de design de software populares
entre muitos dos usuários do Selenium
que tiveram sucesso ao longo dos anos.

---

Section pages:

- [Modelos de objetos de página](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/page_object_models/index.md)
- [Linguagem específica de domínio (DSL)](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/domain_specific_language/index.md)
- [Gerando estado da aplicação](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/generating_application_state/index.md)
- [Simulação de serviços externos](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/mock_external_services/index.md)
- [Relatórios melhorados](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/improved_reporting/index.md)
- [Evite compartilhamento de estado](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/avoid_sharing_state/index.md)
- [Tips on working with locators](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/locators/index.md): When to use which locators and how best to manage them in your code.
- [Independência de Testes](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/test_independency/index.md)
- [Considere usar uma API fluente](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/consider_using_a_fluent_api/index.md)
- [Navegador novo por teste](https://deploy-preview-2977--selenium-dev.netlify.app/pt-br/documentation/test_practices/encouraged/fresh_browser_per_test/index.md)
