Sites para praticar RPA

Para esse artigo você precisa ter:

  • Conhecimento básico de programação
  • Conhecimento básico da biblioteca Selenium

Qualquer dúvida, comente!


Robotic Process Automation (RPA) visa implementar soluções com automação robótica de processos para livrar pessoas de trabalhos repetitivos, trazendo mais agilidade e segurança para os negócios. Esses processos podem acontecer interagindo com aplicativos de computador como sistemas Customer Relationship Management (CRM), Enterprise Resource Planning (ERP) ou mesmo navegadores web, acessando portais comumente utilizados pelas organizações.

Quando entramos no contexto de RPA, temos diversas ferramentas diferentes para atender nossas demandas, sendo elas plataformas “no-code” ou “low-code” e ainda existe a possibilidade de utilizar código em alguma linguagem de programação para criar sua automação. Nesse artigo eu apresento um site para praticar suas automações do tipo Web, utilizando código Python e interagindo com navegadores diretamente com o Document Object Model (DOM) das páginas.

Uma das formas de melhorar a habilidade de programar é praticando. Dentro da área de RPA não é diferente, precisamos aprender sobre como os processos funcionam e assim conseguir desenvolver um programa capaz de executar todos os passos necessários para realizar a tarefa proposta com sucesso.

Practice Test Automation

Nesse site temos opções de fazer testes com nossa automação em contextos como:

  • Test Login Page: preenchendo o login da página utilizando as credenciais disponíveis, podendo testar casos de login válido ou inválido
  • Test Exceptions: tratamento de exceções mais comuns com base na ferramenta Selenium.

Abordando o primeiro caso, temos a possibilidade de preencher dois campos de texto, referentes a username e password e clicar um botão submit. Dependendo de como os campos foram preenchidos, teremos como respostas diferentes ao clicar no botão. A partir dessas respostas poderemos avaliar se a automação está passando pelas etapas corretas.

Como fica em código?

É importante verificar se todas as dependências necessárias estão instaladas na máquina para executar o código.

Para esse projeto utilizaremos as seguintes bibliotecas, nas versões fixadas:

selenium==4.10.0
webdriver-manager==3.8.5

Enter fullscreen mode Exit fullscreen mode

O comando de instalação no terminal fica dessa forma:

python -m pip install selenium==4.10.0 webdriver-manager==3.8.5

Enter fullscreen mode Exit fullscreen mode

Criaremos um arquivo python com o nome de bot.py, nele descreveremos os passos para preencher o formulário em forma de instruções.

from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.service import Service


def main():
    try:
        # Define o caminho do WebDriver executável do Firefox         service = Service(executable_path=r"geckodriver.exe")

        # Cria uma instância do Navegador         bot = webdriver.Firefox(service=service)

        # Define a URL da página Practice Test Automation na área de login         url = "https://practicetestautomation.com/practice-test-login/"
        # Acessa página definida         bot.get(url)

        # Busca pelo elemento input de nome de usuário         elemento_campo_usuario = bot.find_element(
            by=By.ID,
            value="username"
            )
        # Ação de digitar no elemento         elemento_campo_usuario.send_keys("student")

        # Busca pelo elemento input de senha         elemento_campo_senha = bot.find_element(
            by=By.ID,
            value="password"
            )
        # Ação de digitar no elemento         elemento_campo_senha.send_keys("Password123")

        # Busca pelo elemento botão submit         elemento_botao = bot.find_element(
            by=By.ID,
            value="submit"
            )
        # Ação de clicar         elemento_botao.click()

        # Aguarda 3 segundos para garantir         # que carregou a página com resultado         sleep(3)

        # Busca pela confirmação de login         elemento_logado = bot.find_element(
            by=By.CSS_SELECTOR,
            value=".post-title"
            )
        # Imprime o texto da confirmação         print(elemento_logado.text)

        # Busca pelo elemento botão log out         elemento_deslogado = bot.find_element(
            by=By.CSS_SELECTOR,
            value=".wp-block-button__link"
            )
        # Ação de clicar no elemento         elemento_deslogado.click()

    except Exception as ex:
        # Busca pelo elemento de mensagem de erro         error_alert = bot.find_element(
            by=By.ID,
            value="error"
            )

        # Imprime a mensagem de erro         print(error_alert.text)

    finally:
        # Finaliza fechando o navegador         bot.quit()

        # Imprime mensagem de finalização         print("Finally")


if __name__ == "__main__":
    main()

Enter fullscreen mode Exit fullscreen mode

Ao executar esse código, o resultado deve ser a seguinte:

PS C:\practice_test_automation> python .\bot.py
Logged In Successfully
Finally

Enter fullscreen mode Exit fullscreen mode

Nesse caso, ocorreu tudo como esperado, a automação preencheu os campos com os valores corretos e clicou no botão de login, acessando a página de confirmação e depois clicou em logout para sair da página.

Para testar outras validações, vamos alterar inicialmente o preenchimento do campo de nome de usuário, colocando um valor inválido.

        # Ação de digitar no elemento         # elemento_campo_usuario.send_keys("student")         # Valor incorreto para teste de erro         elemento_campo_usuario.send_keys("estudante")

Enter fullscreen mode Exit fullscreen mode

Esse será o resultado ao executar:

PS C:\practice_test_automation> python .\bot.py
Your username is invalid!
Finally

Enter fullscreen mode Exit fullscreen mode

Conclusão

Podemos notar que o site oferece algumas formas de busca e interação com os elementos da DOM. Como sugestão, tente fazer outras alterações como mudar a senha que retorna outra mensagem de validação, além da possibilidade de procurar por outros elementos e interagir com eles.

Enjoy!

原文链接:Sites para praticar RPA

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容