Modelo pronto para teste usando o Spring

Apresento a você - um modelo pronto para teste usando o Spring.


1. Introdução


O objetivo deste artigo é mostrar que escrever autotestes com o Spring é mais fácil do que escrever em Java puro.
Também quero demonstrar como o Java + Spring facilita a vida dos testadores.


Para quem é este artigo?


Se você precisar oferecer suporte a vários perfis (por exemplo, WEB e MOBILE, COM e RU) - o Spring é apenas para você.


Este modelo será interessante para quem deseja aumentar / criar sua implementação, mas não sabe por onde começar.


O que você recebe no post de leitura


Após a leitura, você terá uma idéia de como implementar seu modelo no Java + Spring.


O que precisa ser instalado.


  • Java 11.
  • maven-3.6.1 e posterior.

Benefícios da primavera


O Spring é bastante popular se o Spring aparecer na sua automação - os desenvolvedores certamente agradecerão.


Eu acho que a primavera é bastante rara nos testes, porque ninguém cancelou as tarefas de automação e, como regra, não há muito tempo para o desenvolvimento ou não há nenhum.


O Spring tem muitos projetos diferentes, um deles é o Spring Boot - que permite configurar o Spring automaticamente e muitas coisas acontecem sob o capô, escrevendo 3 linhas para obter o projeto finalizado.


O que está incluído no projeto


O pepino é talvez uma das estruturas de teste automatizadas mais populares que implementam uma abordagem de desenvolvimento orientada a comportamento .


O selenide é uma estrutura auxiliar para escrever testes de interface do usuário com base no selênio.


WebDriverManager - que cuida de todo o trabalho sujo
adicionando variáveis ​​para o projeto System.setProperty ("webdriver.browser.driver", "/ path_to_driver / driver");


lombok - java lib que gera automaticamente métodos como tostring, getter, setter.


Spring jdbc - simplifica o acesso a BDs relacionais e facilita o trabalho com SQL.


Faça o download do projeto


https://github.com/andewBr/seleniumWithSpring


Para iniciar o projeto, é necessário especificar na linha VM OPTIONS:


-Dspring.profiles.active=dev-andrew 


estrutura de pacote e classe


package (config) - configuração do projeto.


classe WebdriverBeanConfig - a classe mais importante, o WebDriver é inicializado.



classe DBBeanConfig - uma classe na qual criamos um bean para trabalhar com BD, diz ao Spring onde obter o dataSource



classe PropertiesConfig - uma classe para trabalhar com dados em uma exibição em árvore


      // @Value("${habr.url}") // private String url;     )) @Autowired private PropertiesConfig property; property.getWeb().getBaseurl(); 


package (page) - um pacote para armazenar localizadores, elementos da web - (como está escrito no primeiro programa java “no nível da interface”.) o que faremos no futuro)


Page Page - método Map <String, SelenideElement> getElements ();



todas as outras classes neste pacote retornam MAP <chave, próprio elemento>



pacote (serviço)


CommanService - uma classe para trabalhar com SelenideElement na qual implementamos o trabalho com a página



A classe BasePageService herda da classe CommonService e processa os elementos.



etapa do pacote - trabalhe com arquivos de recursos



resources.features -> apresenta os próprios arquivos


Source: https://habr.com/ru/post/pt484966/


All Articles