Durante o desenvolvimento de #16 foi notado que as páginas compartilham o mesmo método de erros
wait_error_message em praticamente todos os PO com a espera do mesmo elemento.
Criar um base page para resolver esse problema de duplicação de código.
Update
O arquivo com os page objects está localizado em features/page_objects/pages.py
A classes CreateTodo, Login e CreateUser implementam o mesmo método para que seja aguardado o load total dos elementos na tela
def wait_error_message(self):
WebDriverWait(self.w, 20).until(
lambda driver: 'terminal-alert-error' in driver.page_source
)
Definição de pronto
Você deve criar uma classe chamada WaitablePageObject, que herde de PageObject
Deve fazer com que as classes CreateTodo, Login e CreateUser herdem de WaitablePageObject.
Deve implementar o método wait_error_message na classe WaitablePageObject.
Para testar se tudo está implementado da maneira correta você deve iniciar a aplicação flask em um terminal
FLASK_ENV=testing flask run
E em outro terminal deve rodar os testes e2e com behave
behave
Todos os testes devem continuar funcionando, como agora.
Durante o desenvolvimento de #16 foi notado que as páginas compartilham o mesmo método de erros
wait_error_message
em praticamente todos os PO com a espera do mesmo elemento.Criar um base page para resolver esse problema de duplicação de código.
Update
O arquivo com os page objects está localizado em
features/page_objects/pages.py
A classes
CreateTodo
,Login
eCreateUser
implementam o mesmo método para que seja aguardado o load total dos elementos na telaDefinição de pronto
WaitablePageObject
, que herde dePageObject
CreateTodo
,Login
eCreateUser
herdem deWaitablePageObject
.wait_error_message
na classeWaitablePageObject
.Para testar se tudo está implementado da maneira correta você deve iniciar a aplicação flask em um terminal
E em outro terminal deve rodar os testes e2e com behave
Todos os testes devem continuar funcionando, como agora.