9
respostas

Selenium com java

Tenho uma questão, no meu trabalho tem uma aplicação que corre com c# no visual studio que é o nosso back end e depois tem o front end construido em power apps que faz a integração com a api e a minha questão é se voces da ALURA podem ajudar me como eu conseguiria proceder para fazer testes automatizados na interface da consola que está sendo desenvolvida em power apps? ou seja, posso utilizar java com selenium apesar dos programadores terem o codigo em c# e depois tenho quue pedir o codigo fonte do back end ou do front end ou só através da url? ou seja, como faço para que coloque as questões correctas de forma a tentar pedir ajuda deles porque não são muito receptivos e estou farto de testes manuais e sinto me estagnado e não consigo aproveitar meu conhecimento devido à pouca abertura da equipa?

Peço vos que me ajudem pff.

Obrigado

9 respostas

Olá Ricardo,

Entendo sua situação e a frustração com a falta de abertura da equipe para a automação de testes. Vamos ver como posso ajudar com algumas sugestões.

Primeiramente, sim, você pode usar Java com Selenium para testar a interface do usuário, mesmo que o backend esteja em C#. O Selenium é uma ferramenta de automação de navegador que funciona independentemente da linguagem de programação utilizada no backend. O que você precisa é de acesso à interface web que deseja testar, ou seja, a URL da aplicação.

Aqui estão algumas sugestões para você proceder:

  1. Acesso à URL: Você precisa da URL da aplicação que deseja testar. Não é necessário ter o código-fonte do backend ou frontend para realizar testes de interface com o Selenium. O importante é que você consiga acessar a aplicação através do navegador.

  2. Entendimento dos Fluxos: Tente documentar ou entender bem os fluxos de uso da aplicação que você deseja automatizar. Isso te ajudará a escrever scripts de teste que realmente validem os comportamentos esperados.

  3. Comunicação com a Equipe: Quando for abordar sua equipe, você pode explicar os benefícios da automação de testes, como a redução de erros manuais e o aumento da eficiência nos testes de regressão. Tente mostrar como isso pode beneficiar o trabalho de todos.

  4. Prototipagem de Testes: Se possível, crie um pequeno exemplo de teste automatizado utilizando Selenium em Java para demonstrar como isso pode funcionar. Às vezes, um exemplo prático pode ajudar a convencer a equipe sobre os benefícios.

Espero que essas dicas ajudem você a iniciar com os testes automatizados. É um passo importante e pode realmente fazer a diferença na sua produtividade e na qualidade do produto final.

Espero ter ajudado e bons estudos!

Olá Rodrigo,

Muito obrigado pela sua resposta e depois de terminar o curso de selenium-testes-automatizados-aceitacao-java, vou proceder com o pedido da URL da aplicação que desejo testar juntamente com o gestor de projecto e seguir com os seus outros conselhos.

Gostava de saber se esse curso de selenium-testes-automatizados-aceitação-java é suficiente para me lançar nos testes automatizados ou se há mais cursos de selenium com java mais avançados?

Obrigado.

Boa noite Rodrigo,

Surgiu me uma duvida no decorrer do curso que é o seguinte, nessa imagem, durante o curso você teve a necessidade por exemplo no caso de encontrar o id para o elemento "fulano" de ter que introduzir esse id no template, ou seja, na pagina onde estava a tag span.

Minha questão é, eu podia falar com o programador que desenvolve o front end em power apps e pedir o codigo fonte e se no caso de não encontrar um elemento com o id poder alterar no codigo que ele me deu? e depois não teria efeitos secundários no desenvolvimento da aplicação ou teria que avisar que precisava de fazer essa introdução de id?

Outra questão é podia fazer os testes de interface regressivos com selenium usando em ambiente local ou teria que criar uma pasta com os testes feitos na biblioteca de selenium mas dentro do codigo fonte desenvolvido com c# e no ambiente de desenvolvimento? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Ricardo!

Esse é o único curso de Selenium com Java que temos na plataforma, infelizmente.

Geralmente tem duas estratégias de realizar testes de interface em uma aplicação:

  1. O próprio time de desenvolvimento implementa os testes, utilizando Selenium, Cypress ou outras tecnologias. Nesse caso, se for necessário alterar algo no código, eles tem acesso e podem alterar tranquilamente.
  2. Um time de QA escreve os testes. Nesse caso, pode acontecer desse time de QA não ter acesso ao código do projeto e com isso qualquer mudança que precise ser realizada no código, deve ser repassada para o time de desenvolvimento realizar.

Mas nem sempre é necessário mudar o código do projeto. No exemplo que mostrei no curso, eu alterei o código para incluir um ID no campo da página, mas existem outras formas de referenciar um elemento em uma página HTML, mesmo que ele não tenha id.

Boa noite Rodrigo,

Conforme este ponto nº2 que você abordou, e uma vez que não existe time de QA no projecto, o único tester sou eu e estou querendo evoluir na carreira porque sei de programação com Java mas como não tenho experiencia profissional porque ninguém me dá oportunidade por dizerem que não tenho experiencia, enfim, é um ciclo vicioso, mas neste caso qualquer mudança que precise de ser realizada no código, posso simplesmente repassar para o time de desenvolvimento e eles realizarem, isso seria viável?

Boa noite Rodrigo,

A outra questão seria no caso de por exemplo através do código da aplicação da consola desenvolvida em power apps que está no ambiente de desenvolvimento em Azure DevOps, depois fazer o download do Zip da solução e implementar um pacote de testes com dependência do Selnium e mais o driver do browser no Visual Studio com JUnit mas correndo na minha máquina local utilizando a URL do front end para testar? Isso tem fundamento de ser ou não dá?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

A única coisa que você precisa para testar, é da url da aplicação e também dos dados de acesso, caso tenha login/senha para acessar. com isso, você consegue criar um projeto em Java com Selenium e escrever o código de testes automatizado, conforme demonstrado neste curso.

O ideal é não precisar alterar nada na aplicação, pois pode ser que o time de desenvolvimento não queira fazer a alteração apenas porque você deseja para realizar os testes automatizados. Mas se for tranquilo de você solicitar alterações e eles aceitarem e realizarem, será mais fácil :)

Bons estudos!

Boa tarde Rodrigo,

Exatamente, o ideal seria não precisar alterar nada na aplicação porque como você disse podem simplesmente não querer fazer a alteração mas como vi que isso pode acontecer no curso que você leccionou e estou ainda a terminar de ver, então nunca se sabe.

Uma questão que acho que aqui pode ser bastante importante mais vez o seu conhecimento devido à sua experiencia profissional, neste momento no projecto onde estou, o login é introduzido com o meu e-mail e password que foi configurado pela equipa de infraestrutura do cliente para aceder à rede interna como por exemplo o outlook e reparei que o meu colega que faz a consola com power Apps concedeu-me a permissão para aceder à consola que ele próprio está a desenvolver e que depois será para ser acedida pelos médicos mas é ai que não entendo como poderia fazer esses testes de login como você mostra no seu curso.

No seu curso você tem um login criado na solução da aplicação e no meu caso eu acedo pelo login com meu e-mail criado internamente pelo cliente através do Microsoft 365 e assim entro na consola criada em power apps. Mas como seria no caso dos médicos que irão aceder a essa consola de forma a fazer os testes de login?

Isso vai depender da regra de negócio da aplicação. Tem aplicações que tem perfis de usuuários distintos, cada um com acesso a determinada funcionalidades. Nesses casos, o que geralmente se faz são testes para cada cenário possível.

Por isso o ideal é ter acesso ao código da aplicação, para poder executar localmente e ter um banco de dados local, podendo cadastrar vários usuários para realizar os testes mais facilmente.

Mas no seu caso, o recomendado é realizar os testes em algum ambiente de homologação, para não causar impactos na aplicação em execção no ambiente de produção. E quanto aos usuários de acesso, vai ser necessário solicitar ao time de desenvolvimento que cadastre usuários para você realizar os testes e te passem o login/senha.