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

Estou com dúvida no curso de Testando sua Aplicação Web com Selenium, no exercício do capítulo Preenchendo e testando formulários.

Essa capítulo foi mostrado o teste de como realizar um click em uma "button" e a ação relacionada ao mesmo. Um exemplo disso seria a ação de uma cadastrar algo e para saber se cadastrou correto, iria na página de listagem e procuraria pelo o que foi cadastrado. Mas caso a ação de um button o download de uma arquivo, como eu poderia testar isso? Ou como eu faço o teste de um upload de arquivo?

Desde já, agradeço

4 respostas

Oi Alan,

para testar o upload, você sempre pode usar o sendKeys para mandar o caminho do arquivo no input tipo file que você criou.

Sobre o download, é outra história. Nesse caso, eu gostaria de saber o porquê da pergunta. Frequentemente, só queremos saber se o link funciona, mas não queremos baixar o arquivo em si. É isso?

Para baixar e verificar o arquivo, você teria que usar mais que o WebDriver -- este, só alcança a camada de acesso ao Browser, não chega ao S.O.

Olá Cecilia, com relação ao upload eu entendi o que você falou.

Com relação ao download, é isso mesmo, eu quero saber se a ação do download está ocorrendo. Quando eu tenho uma ação de botão que irá gerar uma ação no meu sistema, como: um novo cadastro ou o cadastro atualizado, eu tenho como fazer esse teste através do selenium, após a ação está no ciclo de vida da minha aplicação (camada do browser), mas como eu faria para testar algo que a minha ação de um botão gera está fora dessa camada.

Não se se eu fui claro.

solução!

Você pode apelar pro Java básico. Suponho que você saiba onde o arquivo vai ser gravado, certo? Então você pode clicar pra fazer download de algum arquivo controlado e verificar, por exemplo, se existe um arquivo no file system com o nome e o tamanho esperados. Faz sentido?

Algo simples como um...

File arquivo = new File("/caminho/pro/nomeDoArquivo.png");
double numeroDeBytes = arquivo.length();

Apenas, não esqueça de remover esse arquivo do file system antes de terminar o teste, pra não ficar acumulando lixo na sua máquina de testes. ;-)

Olá Cecilia,

Estava pensando no mesmo cenário de teste que você falou.

Agradeço a atenção.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software