Como criar bots reutilizáveis

Revise as diretrizes para obter uma melhor compreensão de como desenvolver bots ou subtarefas para reutilização, desde o projeto e criação até a reutilização.

Definir pré-requisitos, entrada, saída e variáveis
Ao criar bots para reutilização, defina o seguinte:
  • Documente todos os pré-requisitos necessários sobre como usar seu bot sozinho ou como subtarefa.
  • Ao criar seu bots, defina valores como entrada, saída ou local. As variáveis de entrada e saída são usadas quando o bot é projetado para ser usado como uma subtarefa, permitindo que ele receba e transmita valores de e para outro bot de chamada.
  • Forneça descrições de variáveis significativas ao definir variáveis de entrada e saída para que outros desenvolvedores saibam como interagir com a subtarefa.
  • Siga um padrão estabelecido para diretrizes de nomenclatura de variáveis. Revise as variáveis definidas pelo usuário Automation Anywhere para obter diretrizes de nomenclatura de variáveis. Suas variáveis (definidas pelo usuário)
Siga o princípio de responsabilidade única
Bots desenvolvidos para reutilização devem seguir o princípio de responsabilidade única, que afirma que cada subtarefa ou componente deve ter responsabilidade sobre uma única parte da funcionalidade geral do bot e que a responsabilidade deve ser totalmente encapsulada por essa subtarefa ou componente.

Outros exemplos de responsabilidade única:

  • Uma subtarefa que processa uma única transação, mas pode ser chamada várias vezes para cada transação em uma lista.
  • Uma subtarefa que coleta dados de exibição de tela em uma única página de um site, mas pode ser chamada várias vezes à medida que um bot passa pela paginação.
Considerações sobre o projeto do bot
Considere os seguintes padrões com base nos quais os modelos devem ser desenvolvidos para uso:
  1. bots principal, primário e secundário
    • bot primário: Este bot é chamado diretamente para iniciar o processo, através de mecanismos incluindo a programação através da Control Room ou chamada de API. Inclua as seguintes etapas principais do processo na seção TENTAR:
      1. Configuração inicial para o processo.
      2. Validação de que a configuração foi bem sucedida. Por exemplo, verifique se todos os arquivos e pastas necessários existem ou se os valores iniciais das variáveis estão preenchidos conforme necessário.
      3. Execute a área de trabalho LIMPEZA DE PRÉ-PROCESSO.
      4. Chame o bot principal para executar a lógica de negócios do processo.

      Na seção FINALMENTE execute a LIMPEZA PÓS-PROCESSO da área de trabalho.

    • bot principal: Este bot chama os bots secundários conforme necessário para executar a lógica de negócios do processo. Inclua as seguintes etapas principais do processo na seção TENTAR:
      1. Validação de qualquer entrada. Por exemplo, valores de variáveis de entrada do bot primário.
      2. Execução de bots secundários.
      3. Validação de qualquer saída.
      4. Garanta o preenchimento de qualquer valor variável de saída com base na execução do bot principal para voltar para o bot primário.

      Na seção CAPTURAR, registre o erro e assegure preenchimento de qualquer valor variável de saída, por exemplo, oStrResult para retornar ao bot primário.

    • bots secundários
      • Um bot secundários é chamado pelo bot primário ou bot principal para executar a lógica de negócios real obrigatória para a automação. Também são conhecidas como tarefas auxiliares ou tarefas utilitárias, pois seu único objetivo é auxiliar a tarefa de chamada.
      • Use variáveis de saída para retornar um indicador de resultado para o bot de chamada principal ou outro bot secundário. Por exemplo, outStrResult. O valor contém uma mensagem de erro se o processamento não foi bem sucedido devido a um erro ou exceção que tenha ocorrido.
  2. bots principais e secundários: Este padrão inclui o bot primário e o principal em um único bot principal. O padrão do projeto do bot secundário é semelhante ao padrão do projeto explicado acima.
Abertura e fechamento de aplicativos
Quaisquer aplicativos, arquivos ou janelas que um bot ou subtarefa abre devem ser fechados pelo mesmo bot ou subtarefa.
  • Por exemplo, quando um bot abre o Microsoft Excel para executar uma operação de planilha, verifique se a planilha e o Excel estão fechados quando o bot concluir o processamento.
  • Feche os aplicativos quando a execução do bot for bem-sucedida ou malsucedida.
  • Use o bloco Finalmente da operação Tentar/Capturar/Finalmente para garantir que os aplicativos sejam fechados independentemente do sucesso do processamento da tarefa.
  • Caso os aplicativos não respondam durante o teste, considere usar o prompt de comando para fechar (encerrar) os aplicativos. Por exemplo, para fechar forçadamente o Power Point, a operação de linha de comando seria:
    Taskkill /IM powerpnt.exe /F
Gerenciamento de erros
Depois de concluir a tarefa, verifique se o bot trata com êxito com qualquer falha ou exceção.
  • Cada tarefa ou subtarefa deve lidar com seus próprios erros.
  • Uma exceção não tratada em uma subtarefa pode causar problemas em uma tarefa pai.
  • Use os blocos Tentar/Capturar/Finalmente no nível raiz de cada bot.
  • Use os blocos Tentar/Capturar dentro de um loop se quiser tentar uma operação várias vezes antes de relatar uma falha.
Tratamento de eventos ou exceções
Além dos erros de ação que são capturados por Tentar/Capturar, é necessário realizar verificações de código para outros processos, tais como eventos ou exceções. Se ocorrer uma determinada condição de processo, notifique ou registre essas condições para análise adicional.
  • Desenvolver um Task Bot gerenciador de eventos configurável que minimiza a exigência de mudanças de código se as ações forem alteradas. Por exemplo, mantenha um arquivo XML que contenha uma definição de todos os eventos ou exceções possíveis e quaisquer requisitos de notificação quando esses eventos ou exceções ocorrerem.
  • No código, quando tais eventos ou exceções ocorrerem, grave as informações em um log de eventos. Você também pode adicionar usos de memória e capturar uma captura de tela.
  • Execute o Task Bot gerenciador de eventos para processar o evento ou exceção. Por exemplo, emita uma notificação usando parâmetros como destinatário de e-mail, destinatário CC, ou assunto do arquivo XML.
  • Se os requisitos de notificação variam para cada ambiente, ou mudam com o tempo, o arquivo de configuração pode ser atualizado sem a necessidade de alterar o código.
Como executar bots em outros computadores
Ao projetar um bot, habilite-o para que ele seja executado em computadores diferentes do computador no qual o bot foi criado.
  • Use variáveis para caminhos de arquivos locais, compartilhamentos de rede ou títulos de janelas para que o bot possa ser executado com êxito em outras máquinas.
  • Considere usar valores globais para marcadores de ambiente ou compartilhamentos de rede aos quais vários bots precisam de acesso.
  • Use caracteres curinga para títulos de janela quando apropriado para permitir que bots executem independentemente do ambiente específico ou da versão do aplicativo de destino. Por exemplo, em vez de usar
    Salesforce - Professional Edition - Internet Explorer
    use o seguinte:
    Salesforce - * - Internet Explorer
Como usar prompts, caixas de mensagem e loops infinitos
Os prompts e as ações de caixa de mensagem impedem que os bots sejam executados ao aguardar uma entrada do usuário. A menos que uma entrada de usuário seja necessária, projete os bots sem usar instruções de prompt.
  • Ao usar loops, certifique-se de que todos os loops tenham uma extremidade definida, especificando claramente seu número de iterações ou especificando onde as ações de interrupção do loop precisam existir.
  • Se o bot for projetado para ser executado como um bot sem supervisão, remova ou desative quaisquer prompts ou ações de caixa de mensagem.
  • Se você estiver criando bots para um cenário de automação assistida, as caixas de mensagem e os prompts geralmente são razoáveis ou necessários para que os bots sejam executados conforme o esperado. Use caixas de mensagem para exibir variáveis diferentes, como respostas, saídas ou valores.
Armazenar dados confidenciais no Credential Vault
A Control Room inclui o Credential Vault que pode ser usado para armazenar informações confidenciais, como nomes de usuário, senhas, chaves de API e tokens.
  • Ao criar um bot, crie um cofre na Control Room usando o Credential Vault para armazenar credenciais e recuperá-las conforme necessário, referenciando a credencial e o atributo. Isso permite que os usuários criem bots que consomem APIs ou executem logins sem a necessidade de construtores de bot codificarem diretamente as credenciais necessárias em um bot.
  • Não codifique credenciais confidenciais em um bot ou uma subtarefa, pois o armazenamento codificado em um bot apresenta um risco de segurança.
  • Quando os valores do Credential Vault precisarem ser usados em um bot, verifique se todos os nomes e credenciais do cofre estão claramente definidos na documentação do bot. Se necessário, inclua detalhes sobre como obter credenciais, por exemplo, uma chave de API ou um token.
Como testar tarefas independentes
Ao criar bots para reutilização, projete-os de forma que possam ser testados independentemente de outras subtarefas.
  • Pratique a abordagem de desenvolvimento orientado por testes (TDD, test-driven development): Ao adicionar um novo bot, ou um novo recurso em um aplicativo, escreva um caso de teste para ele.
  • Em um caso de teste, defina a função específica que valida esse recurso ou funcionalidade.
  • Para o princípio de responsabilidade única e a reutilização, crie muitas tarefas menores que possam ser testadas independentemente.
Como usar comentários e etapas
Os comentários permitem que os desenvolvedores forneçam descrições dentro de bots para que um bot de outros desenvolvedores de bot possa entender melhor para o que cada seção, bloco de código ou subtarefa foi projetado. Inclua comentários claros para permitir que os desenvolvedores entendam a finalidade da função de um determinado bloco de código.
  • Quando bots são enviados à Bot Store, comentários demonstram como personalizar o bot.
  • O uso de comentários facilita a manutenção do código porque as descrições de seção ajudam a identificar onde as alterações podem ser necessárias para permitir que os desenvolvedores trabalhem para uma resolução de problemas mais rápida
  • Comentários sobre bots que são um trabalho em desenvolvimento pode ser útil na criação de espaços para o trabalho futuro. Considere usar um comando A FAZER como um lembrete para adicionar lógica ao bot, mas atualize os comentários quando o trabalho for concluído.
  • O Automation 360 inclui a ação Etapa , que fornece a capacidade de organizar o código em agrupamentos lógicos para melhorar a legibilidade e o fluxo.
  • Crie um esboço dos principais objetivos do seu bot usando ações de etapa vazias e rotuladas. Quando isso for concluído, volte para cada etapa e conclua a lógica para a etapa.
Como criar arquivos de log
A identificação de problemas sem logs pode ser difícil quando os bots estão sendo executados sem supervisão em qualquer número de Executores de bots. Os desenvolvedores de software, as equipes de suporte e proprietários de bot confiam nos logs para entender onde suas automações têm problemas e como diagnosticar problemas. Os Bots devem registrar os erros para obter detalhes de erros.
  • Use o tratamento de erros e capturas de tela para entender melhor quando um bot ou subtarefa encontra um erro.
  • Use o modelo de Bot Store A2019 que contém recursos de tratamento básico de erros, registro em log e instantâneo com o local dos logs na raiz personalizável para manter arquivos de log mais antigos.

    Modelo de bot da Bot Store

  • Se necessário, crie arquivos de log adicionais e inclua um histórico de auditoria completo de tudo o que um bot ou subtarefa fez. Os arquivos de log adicionais podem incluir informações de auditoria, depuração e desempenho sobre o bot, bem como o seguinte:
    • Horário de início e término do bot principal.
    • Horário de início e término da subtarefa.
    • O tempo de conclusão de marcos específicos definidos no bot.
    • Número de transações recebidas em um arquivo de entrada.
    • Número de transações processadas com sucesso ou com falha.