Middle+
Fale-nos sobre a infraestrutura do seu framework.
sobes.tech IA
Resposta da IA
A estrutura do framework é baseada numa arquitetura em camadas.
- Camada de testes: Contém classes e métodos de teste que descrevem os cenários de teste. Utiliza um framework de testes (JUnit 5 / TestNG) para anotações e execução de testes.
- Camada de páginas (Page Object Model): Implementa o padrão Page Object Model (POM). Cada classe de página representa uma página web ou uma parte dela e contém métodos para interagir com os elementos e realizar ações.
- Camada de utilitários: Contém classes e funções auxiliares para tarefas comuns, como trabalhar com dados de teste (leitura de ficheiros, bases de dados), registo (SLF4j), capturas de ecrã, gestão de configuração (OwnerR), etc.
- Camada do driver: Abstrai o trabalho com o WebDriver (por exemplo, Selenium WebDriver). Responsável pela inicialização, configuração e gestão de instâncias do driver para diferentes navegadores e plataformas (diretamente ou através de Selenide).
- Relatórios: Integrado com o sistema de relatórios (Allure Report) para gerar relatórios detalhados da execução dos testes, incluindo passos, capturas de ecrã e logs.
- Integração CI/CD: O framework está configurado para correr numa pipeline CI/CD (Jenkins / GitLab CI) usando ferramentas de build (Maven / Gradle).
Além disso, podem ser incluídas camadas para trabalhar com API (REST Assured), bases de dados ou aplicações móveis, dependendo da natureza do produto testado. A gestão de dependências é feita através de sistemas de gestão de dependências (Maven / Gradle).
Exemplo de estrutura do projeto:
// Exemplo de estrutura do projeto do framework
src/test/java/com/example/tests/
TestClass1.java
TestClass2.java
src/test/java/com/example/pages/
LoginPage.java
HomePage.java
src/test/java/com/example/utils/
DataReader.java
LoggerUtil.java
src/test/resources/
config.properties
testdata.json
pom.xml (ou build.gradle)