Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Como estruturar testes em sistema de compra online

Bom dia! Estou com uma dúvida que ainda não consegui encontrar uma boa solução. Por exemplo, ao realizar uma compra online no site das lojas Renner, teremos alguns passos:

1) Escolher um produto qualquer na loja.
2) Adicionar o produto escolhido ao carrinho.
3) Confirmar o checkout.
4) Cadastrar novo usuário no site

Ao executar cada ação descrita acima, uma nova URL será gerada, certo? E o cliente vai sendo direcionado para cada nova tela. Aí vem a minha dúvida: Na prática, o que é mais correto fazer? Abrir uma sessão apenas do navegador para todos estes testes, e apenas ir testando se os itens estão presentes no driver. Ou, para cada passo, abrir uma sessão do navegador, executar o que precisa ser feito, fechar e ir para o próximo teste?

Obrigada!

5 respostas
solução!

Boa tarde, Ketlin! Como vai?

Ao meu ver o mais correto seria abrir apenas uma sessão do navegador e fazer os testes nela. Penso assim pq o processo de abrir e fechar o navegador será um tempo desnecessário (e normalmente um pouco longo) que vc perderá entre um teste e outro. Eu só fecharia e abriria novas sessões caso por algum motivo fosse algo obrigatório para o funcionamento dos meus testes, o que não me parece ser o seu caso.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!

Oi Gabriel! Preciso de mais uma ajuda... Você teria algum exemplo onde a mesma sessão é compartilhada entre dois TestCases ?

Ontem eu estudei sobre o Selenium PageObjects, segui o exemplo neste link: SeleniumExemplo.

Foi ótimo seguir o exemplo, até porque consegui entender melhor o conceito de orientação a objetos, inclusive criei meu projeto de compra online baseado neste modelo - criei um page para a página do produto e um page para o carrinho de compras.

O problema agora para mim é compartilhar a sessão do driver entre os testes, eu não posso abrir uma sessão com o link do carrinho de compras porque daí eu perco a seleção do produto no carrinho. Então, por exemplo, eu preciso ir para a página do produto, clicar em "comprar", ir para o carrinho e validar outras informações. Como eu faço isso usando testes unitários em c# ?

Obrigada!

Opa, Ketlin! Como vai?

O seu driver é um objeto. Então vc pode compartilhar esse objeto entre os seus TestCases passando a referência a esse objeto a cada um dos casos de teste.

Pegou a ideia?

Oi Gabriel, sim entendi.

Porém, minha dificuldade estava em elaborar esta estrutura utilizando orientação a objetos, neste caso com c#.

Vou deixar aqui o link para uma solução que fiz, caso alguém tenha a mesma dúvida no futuro e venha a cair neste forum.

Neste exemplo uma sessão apenas é aberta, e pequenos testes são realizados no processo de compra.

https://github.com/kpedron/TestsAutomationPractice

Mto bem, Ketlin! Era isso mesmo que eu tinha em mente!

Sempre que tiver qualquer dúvida é só mandar aqui no fórum!

Grande abraço e bons estudos, minha aluna!