Pular para conteúdo

Page Object Model

Para o presente projeto optou-se por utilizar o Page Object Model.

O Page Object Model (POM) foi inicialmente descrito por Martin Fowler sob o nome Windown Driver. No entanto, o termo Page Object foi popularizado pelo framework de testes web Selenium, e desde então se tornou o nome geralmente utilizado.

O POM é um design pattern que encapsula a interface de uma página web em uma classe orientada a objetos, permitindo que os testes interajam com a página através de métodos específicos, em vez de manipular diretamente os elementos HTML. Isso ajuda a reduzir a duplicação de código e facilita a manutenção dos testes quando a interface do usuário muda.

| If you have WebDriver APIs in your test methods, you're doing it wrong.

Simon Stewart PageObject


Assistindo aos vídeos Page Object Model In Selenium WebDriver | Introduction ( vídeo curto, de 11', de uma indiana) que dá uma introdução teórica sobre o POM e continua com Page ObjectModel In Selenium WebDriver using By Locator, ficou claro que é possível criar o POM de duas maneiras distintas:

  • By Locator
  • By PageFactory Class



POM em python

No vídeo What Is Page Object Model? | pytest Framework Tutorial | Part-IX | LambdaTest há um exemplo muito interessante desse design pattern. O exemplo está tb disponível no repositório PytestTutorials.



Dunossauro

Além disso tem o material do Eduardo Mendes, que é excelente.



Outras Referência



Outros Projetos

Existem outros projetos para raspar dados dos Tribunais.

  • Há um pacote de R chamado jjesusfilho/tjsp, do José de Jesus Filho, que obtém dados do TJSP para fazer estudos de jurimetria.
  • O projeto courtsbr/esaj, também em R, por exemplo faz o download das páginas do e-SAJ em formato .html. Não serve para meu propósito, mas pareceu interessante.


Há outros projetos disponíveis no GitHub contendo " e-SAJ".