Season Libraries - Ep. 08: Library Process - Verificação de conteúdo de arquivo PDF

 
Olááá Robotizadores!!! Hoje eu vou mostrar um exemplo de como realizar a conferência dos dados de um arquivo PDF, através da execução de um código Python externo via Library Process. Let's bora?




#FICADICA: Lembrando que é necessário que você já tenha uma noção sobre o Robot Framework!!! Se ainda não tem, dá uma olhadinha nos primeiros posts do blog ou no curso da Udemy!!!


01 - Instalando o código para extração dos dados

pip install pdfminer.six

As Libraries OperatingSystem e Process utilizadas no exemplo não requerem instalação, elas já vem embutidas na instalação do Robot.

02 - Escreva seu código no Robot Framework

Segue abaixo um exemplo de um código usando o PDF Miner, esse exemplo foi feito com base no cenário que funcionou no meu ambiente, talvez seja necessários ajustes para funcionar no seu ambiente.



03 - Detalhamento do Exemplo

Passo 1 - Como o caminho do usuário local, muda de máquina para máquina, foi utilizada a Keyword "Normalize Path" para normalizá-lo, esse processo faz especificamente as seguintes coisas: 

  • Recolhe separadores redundantes e referências de nível superior.
  • Converte / para \ no Windows.
  • Substitui ~ ou ~user pelo diretório inicial do usuário.

O caminho obtido foi colocado dentro da variável ${home_dir} 

Passo 2 - Foi utilizado a Keyword "Join Path" para realizar a concatenação do caminho obtido na variável ${home_dir} com o diretório onde encontra-se o arquivo.

Passo 3 - Foi utilizado a Keyword "List Directory" para filtrar todos os arquivos que contenham uma determinada nomenclatura. Essa keyword tem como resultado uma lista de arquivos, a qual deve ser armazenada em uma variável do tipo lista. Para saber mais sobre tipos de variáveis, leia o artigo "Season Scripts - Ep. 03: Tipos de variáveis e seu uso".

Passo 4 - Novamente foi utilizado a Keyword "Join Path", só que dessa vez ela concatenou o caminho obtido no passo 2 com o nome do arquivo obtido no passo 3. 

Passo 5 - Agora será utilizada a Keyword "Run Process" para rodar o código Python que foi instalado para extrair o conteúdo do arquivo PDF.

Passo 6 - Por fim será utilizada a Keyword "Get Process Result" para capturar a saída do processo.

Passos 7 e 8 - A utilização das Keywords "Log" e "Log To Console" são opcionais, contudo em caso de erro, elas serão de grande auxílio.

Passo 9 - Para finalizar o teste, foi utilizada a keyword "Should Contain" para verificar se o texto extraído do PDF, contém o conteúdo esperado.


Visualização detalhada das keywords de Extração dos Dados do PDF

04 - Considerações sobre a Execução

A execução ocorre em segundo plano, ou seja, ele não abre nenhum terminal extra durante os testes, contudo se você usar a keyword "Log To Console" apontando para saída do processo, ela poderá ser visualizada no terminal que está executando os testes. 




E aí o que acharam???? O exemplo supracitado está disponível no meu GitHub ... Abraço robotizadores!!! See you later!

Comentários

Postar um comentário

Postagens mais visitadas deste blog

[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes

Novo Curso: Robot Framework com Playwright e GitHub Actions

Season WEB Testing - Ep. 03: Open Browser - Chrome Options