Verificador de exportação de arquivo

Carol Ciola
3 min readOct 26, 2018

Dando continuidade à série de posts Selenium Webdriver com C#, criaremos a seguir um método que contém a função que verifica se um determinado arquivo foi baixado após uma operação no sistema, como clicar no botão “Download”, por exemplo.

Atenção: utilizaremos aqui o conceito de POO, portanto teremos a classe principal.cs e a classe do nosso método, exportacao.cs.

exportacao.cs

A classe é pública e booleana, ou seja, retornará uma condição true ou false. A string nomeArquivo recebe da classe principal o nome do arquivo que será gerado, sem a extensão do arquivo. Iniciamos a variável existe com a condição false, tomando como exemplo de que o arquivo ainda não existe.

O trecho abaixo obtém o caminho da pasta “Downloads” do perfil do usuário da máquina, e atribui à variável pathDownload:

Deletamos os arquivos já existentes na pasta que possuem o mesmo nome do arquivo que iremos gerar, para garantir que nosso script leia o arquivo correto gerado durante a automação do teste.

Este é o momento em que clicamos no botão de download no sistema:

Abaixo verificamos se o arquivo foi salvo na pasta Downloads, após o clique no botão.

  • filePaths recebe o caminho do diretório onde está a pasta Downloads.
  • Tendo em mente que é inviável limpar todo o conteúdo da pasta Downloads sempre que formos executar nosso script, o foreach efetua a seguinte verificação: para cada um dos arquivos existentes dentro da pasta Downloads (representados pela variável “p”), verifique se o arquivo possui o nomeArquivo que queremos + a extensão.
  • Caso o arquivo seja encontrado, o if atribui à variável existe o valor true, e depois disso, exclui o arquivo. O método retorna, então, o valor de existe = true ao script principal.
  • Caso o arquivo não seja encontrado, um outro if verifica se a condição de existe continua sendo false. Em caso positivo, fecha o navegador, pois o teste falhou.

principal.cs

Nesta classe incluímos o seguinte trecho para leitura de nosso método:

Dúvidas me contate! carol.ciola@gmail.com

Gostou deste post? Aplauda👏 e ajude outras pessoas a encontrar este conteúdo também :)

--

--