Criando uma Automação Desktop
Automações desktop permitem que você controle qualquer tipo de aplicativo instalado em seu computador, incluindo páginas da web, emuladores de Android, sistemas remotos acessados via Remote Desktop e Citrix e muito mais.
Existem duas formas para a localização e interação com componentes em automações Desktop:
- Visão Computacional
- Identificador Único de componentes Win32/UIA
Neste tutorial iremos focar no primeiro modo por ser universal e compatível com qualquer sistema operacional.
Dica
Para mais informações em como desenvolver automações Desktop em Windows com o uso de IDs confira nosso tutorial.
Criando um projeto usando o template
A BotCity oferece templates de projeto que podem ser customizados através do cookiecutter que instalamos na etapa anterior.
Para criarmos um novo projeto usando o modelo de projeto, vamos invocar o cookiecutter
e fornecer como argumento a URL do repositório onde os templates da BotCity estão localizados:
python -m cookiecutter https://github.com/botcity-dev/bot-python-template/archive/main.zip
O sistema irá solicitar algumas respostas para criar seu projeto.
- Quando solicitado project_type escolha a opção
1
para Desktop e pressione enter; - Para bot_id digite
BotYoutube
e pressione enter; - Para project_name digite
Bot Youtube
e pressione enter; - Para project_short_description digite
Meu primeiro Bot
e pressione enter.
Após o término do processo acima, uma nova pasta chamada BotYoutube
estará disponível.
Sucesso
Parabéns, você agora tem um projeto com o framework Python da BotCity. 🏆
Vamos agora inspecionar os detalhes deste projeto.
Explorando o projeto
Dentro da nossa pasta do projeto BotYoutube
você deverá ter a seguinte estrutura:
BotYoutube
├── MANIFEST.in <- Este arquivo define o conteúdo do pacote.
├── README.md <- README simples para seu projeto.
├── VERSION <- Este arquivo define a versão de seu pacote.
├── BotYoutube <- Módulo principal de seu robô.
│ ├── __init__.py
│ ├── __main__.py <- Ponto de entrada do módulo. Não há necessidade de alterar este arquivo.
│ ├── bot.py <- Aqui é onde iremos trabalhar e desenvolver nosso robô.
│ └── resources <- Pasta contendo os arquivos auxiliares para o robô.
├── build.bat <- Script em Batch para gerar o pacote.
├── build.sh <- Shell script para gerar o pacote.
├── requirements.txt <- Arquivo descrevendo todas dependencias externas para seu robô.
└── setup.py <- Arquivo de setup para seu pacote.
Nota
A quantidade de arquivos e pasta pode parecer exagerada porém aqui estão os mais importantes:
- bot.py: Altere este arquivo e adicione aqui seu código.
- resources: Adicione nesta pasta os arquivos a serem utilizados por seu robô como imagens, planilhas e etc.
- VERSION: Altere o conteudo desse arquivo quando atualizando a versão de seu robô. É recomendado o uso de versões no formato X.Y. Exemplo 1.0, 1.1, 2.5, 3.10.
Maneiro!
Toda essa informação é bem legal mas é hora de vermos alguma ação.
Vamos testar nosso robô localmente. 🦾🤖
Testando seu projeto localmente
Para testar seu projeto localmente, vamos primeiro instalar o pacote para que todas as dependências do Python sejam resolvidas.
Utilizando a linha de comando, acesse a pasta BotYoutube
que criamos nas etapas anteriores.
Instalando o projeto
A partir desta pasta, rode o comando abaixo para instalar seu projeto em modo de desenvolvimento:
pip install -e .
Dica
Instalando o projeto utilizando o modo de desenvolvimento -e
faz com que você possa continuar desenvolvendo e executando seu robô sem a necessidade de reinstalar a cada mudança.
Este comando vai produzir uma saída grande referente a instalação de todas as dependências como, por exemplo,o botcity-framework-core
e outras.
Assim que este processo terminar, você deve ter uma saída em seu terminal parecida com:
<... other output from installation ...>
Running setup.py develop for BotYoutube
Successfully installed BotYoutube-1.0 ...
A parte importante aqui é Successfuly installed BotYoutube-1.0
.
Isso significa que seu projeto está pronto para ser executado.
Rodando seu robô
Nosso projeto de template roda uma automação bem simples. Este projeto apenas abre seu navegador padrão e carrega a página da BotCity.
Você pode executar sua automação BotYoutube
com o seguinte comando:
python -m BotYoutube
Dica
Você também pode utilizar sua IDE favorita para executar seu projeto localmente.
Apenas atente-se aos imports
pois estamos dentro de um pacote.
Aqui está uma captura de tela do resultado esperado:
🌟 Excelente 🌟
Agora você já pode construir automações utilizando os frameworks Python da BotCity.