UiPath Documentation
studio
2020.10
false
Guia do usuário do Studio
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Automação de Interface Gráfica

Importante:

Os processos de automação que usam atividades UIAutomation não podem ser executados com uma tela bloqueada.

Algumas vezes, a rotina manual habitual não é a mais apropriada para a automação.Explore atentamente o comportamento e a integração/funcionalidades da UiPath antes de adotar uma certa abordagem.

Observação:

A utilização da atividade Parallel com atividades de automação de interface gráfica não é compatível e muitas vezes terá consequências inesperadas.

Automação da área de trabalho​

A automação de interface gráfica é melhor utilizada quando robôs e aplicativos são executados na mesma máquina, pois o UiPath pode integrar-se diretamente à tecnologia usada pelo aplicativo para identificar elementos, disparar eventos e obter dados em segundo plano.

Métodos de entrada​

O UiPath utiliza três métodos para disparar uma atividade Click ou Type Into em um aplicativo.Eles são exibidos como propriedades em todas as atividades relacionadas com a automação de interface gráfica.

As propriedades SimulateType e SimulateClick​

Se as propriedades SimulateType ou SimulateClick estiverem selecionadas, o Studio conecta-se ao aplicativo e dispara o gerenciador de eventos de um elemento de interface gráfica indicado (botão, caixa de texto).O resultado depende sempre da tecnologia usada no destino, como um navegador web ou aplicativo de negócios.

É altamente recomendado verificar o estado do elemento de interface gráfica de destino antes da execução, ao habilitar a SimulateType ou a SimulateClick para as seguintes atividades:

A mesma recomendação deve ser considerada para os aplicativos abaixo, pois eles usam as propriedades SimulateType ou SimulateClick por padrão e não podem ser alterados:

A propriedade AlterIfDisabled​

A propriedade instrui se a atividade de destino deve ou não interagir com elementos desativados.Observe que essa propriedade é considerada apenas se a SimulateType ou a SimulateClick estiver habilitada.Você pode encontrar a propriedade AlterIfDisabled para as seguintes atividades:

A propriedade SendWindowMessages​

Se a propriedade SendWindowMessages estiver selecionada, o Studio coloca os detalhes do evento no ciclo de mensagens do aplicativo e o procedimento da janela do aplicativo o envia internamente para o elemento de interface gráfica de destino.

O Studio sinaliza os drivers do sistema com eventos de hardware se nenhuma das opções acima estiver selecionada e permite que o sistema operacional envie os detalhes para o elemento de destino.

Esses métodos devem ser testados na ordem apresentada, pois as propriedades SimulateClick e SendWindowMessages são mais rápidas e também funcionam em segundo plano, mas dependem principalmente da tecnologia utilizada pelo aplicativo.

Os eventos de hardware funcionam 100% enquanto o Studio realiza ações exatamente como um operador humano, como mover o ponteiro do mouse e clicar em um local específico. No entanto, nesse caso, o aplicativo automatizado precisa estar visível na tela. Isso pode ser visto como uma desvantagem, pois há o risco de que o usuário interfira na automação.

Seletores​

Às vezes, os seletores gerados automaticamente propõem valores de atributo voláteis para identificar elementos e a intervenção manual é necessária para ajustar os seletores.Um seletor confiável deve identificar com sucesso o mesmo elemento todas as vezes, em todas as condições, em ambientes de desenvolvimento, teste e produção, independentemente dos nomes de usuários conectados aos aplicativos.

Aqui estão algumas dicas sobre como melhorar um seletor no ou :

  • Substitua atributos com valores voláteis por atributos que pareçam estáveis e significativos.

  • Substitua partes variáveis de um valor de atributo que tenha caracteres curinga (*).

  • Se o valor de um atributo for todo em caracteres curinga (por exemplo, name=’*’) o atributo deve ser removido.

  • Se a edição dos atributos não ajudar, tente adicionar mais contêineres intermediários.

  • Evite usar o atributo idx, a menos que seu valor seja um número muito pequeno, como 1 ou 2.

No seletor acima, observamos que o título da página tem uma referência ao momento em que o seletor foi gravado, e que alguns atributos têm IDs com aparência aleatória. Ajustando os atributos, podemos elaborar um seletor melhor do que o proposto pelo gravador do UiPath.

Contêineres​

Assim como os caminhos dos arquivos, os seletores podem ser completos ou parciais (relativos). Os seletores completos começam com uma janela ou um identificador HTML e possuem todas as informações necessárias para encontrar um elemento em toda a área de trabalho, ao passo que os seletores parciais funcionam apenas em um anexo ou contêiner que especifique a janela de nível superior à qual os elementos pertencem:

  • OpenBrowser
  • OpenApplication
  • AttachBrowser
  • AttachWindow

Aqui estão mais algumas informações sobre .

Há várias vantagens para usar contêineres com seletores parciais em vez de seletores completos:

  • Agrupa visualmente atividades que funcionam no mesmo aplicativo.
  • É um pouco mais rápido, não buscando sempre a janela superior.
  • Facilita o gerenciamento de seletores de nível superior caso sejam necessárias atualizações manuais.
  • É essencial ao trabalhar em duas instâncias do mesmo aplicativo.

Automação de imagem​

O reconhecimento de imagem é a última estratégia na automação de aplicativos, se nada mais funcionar para identificar elementos de interface gráfica na tela (como seletores ou atalhos de teclado). Uma vez que a correspondência de imagem requer que os elementos estejam totalmente visíveis na tela e que todos os detalhes visíveis sejam os mesmos no tempo de execução e durante o desenvolvimento, deve-se ter um cuidado extra ao recorrer à automação de imagem para garantir a confiabilidade do processo. A seleção de uma área maior ou menor do que a necessária para uma imagem pode fazer com que a imagem não seja encontrada ou acarretar uma falsa correspondência.

Considerações sobre resolução​

A correspondência de imagem é sensível a variações de ambiente, como o tema da área de trabalho ou a resolução da tela. Quando o aplicativo for executado no Citrix, a resolução deve ser maior ou igual à usada na gravação dos fluxos de trabalho. Caso contrário, as pequenas distorções de imagem podem ser compensadas reduzindo-se um pouco o fator de Accuracy da imagem capturada. Verifique como o layout do aplicativo se ajusta a diferentes resoluções para garantir a proximidade dos elementos visuais, especialmente no caso de técnicas baseadas em coordenadas como clique relativo e extração relativa.

Se a automação for compatível com diferentes resoluções, gravações paralelas podem ser colocadas em uma atividade PickBranch e o robô utiliza qualquer uma das correspondências.

Mecanismos OCR​

Se o OCR retornar bons resultados para o aplicativo, a automação de texto é uma boa alternativa para minimizar a influência do ambiente. O mecanismo Tesseract, usado pelo Google, funciona melhor para áreas menores, enquanto o Microsoft MODI é melhor para áreas maiores.

A utilização do mecanismo MODI nas automações em ciclo pode criar vazamentos de memória algumas vezes. Por isso é recomendado que a coleta feita com o MODI seja invocada por meio de um fluxo de trabalho separado, usando a propriedade Isolated.

Sincronização de interface gráfica​

É provável que ocorra um comportamento inesperado quando o aplicativo não estiver no estado em que o fluxo de trabalho supõe que ele esteja. O primeiro ponto a ser observado é o tempo que o aplicativo leva para responder às interações do robô.

A propriedade DelayMS permite que você aguarde um tempo para que o aplicativo responda. No entanto, há situações em que o estado de um aplicativo deve ser validado antes de prosseguir com determinadas etapas em um processo. As medidas podem incluir a utilização de atividades extras que aguardem o estado desejado do aplicativo antes de outras interações. As atividades que podem ajudar incluem:

Automação em segundo plano​

Se uma automação for destinada a compartilhar a área de trabalho com um usuário humano, toda a interação de interface gráfica deve ser implementada em segundo plano. Isso significa que a automação deve funcionar diretamente com objetos do elemento de interface gráfica, permitindo que a janela do aplicativo fique oculta ou minimizada durante o processo.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades