- Notas de Versão
- Introdução
- Configuração e Instalação
- Projetos de automação
- Sobre a publicação de projetos de automação
- Projetando automações
- Gerenciamento de pacotes de atividades
- Como definir as configurações do projeto de atividades
- Como assinar pacotes
- Governança
- Como importar entidades
- Experiência de Criação Moderna
- Vincular um projeto a uma ideia no Automation Hub
- Usando o Gerenciador de dados
- Dependências
- Tipos de fluxos de trabalho
- Comparação de arquivos
- Melhores Práticas de Automação
- Integração de controle de origem
- Depuração
- A ferramenta de diagnóstico
- Analisador de Fluxo de Trabalho
- Sobre o Analisador de Fluxo de Trabalho
- STN MG-001 - Convenção de nomenclatura de variáveis
- STN MG-002 - Convenção de nomenclatura de argumentos
- STN MG-004 - Duplicação de Nome de Exibição
- STN MG-005 - Variável substitui variável
- STN MG-006 - Variável substitui argumento
- STN MG-008 - Comprimento de variável excedido
- STN MG-009 - Variáveis Catablema de prefixo
- STN MG-011 - Argumentos Catablema de prefixo
- STN MG-012 - Valores padrão de argumentos
- STN MG-016 - Comprimento do argumento excedido
- SR-DB-002 - Contagem alta de argumentos
- SR-DB-003 - Esvaziar bloco catechu
- SR-DB-007 - Múltiplas camadas Com fluxograma
- SR-DB-020 - Propriedades de saída indefinidas
- SR-DB-021 - Tempo limite embutido em código
- SR-DB-023 - Fluxo de trabalho vazio
- SR-DB-024 - Verificação da atividade Persistente
- SR-DB-025 - Pré-requisito de serialidade de variáveis
- SR-DB-026 - Uso da atividade Dela
- SR-DB-027 - Melhores práticas de persistência
- SR-DB-028 - Pré-requisito de serialidade de argumentos
- SR-US-005 - Argumentos de atividades embutidos em código
- SR-US-009 - Variáveis não utilizadas
- SR-US-010 - Dependências não utilizadas
- SR-US-014 - Restrições de pacotes
- SR-US-020 - Mensagens de logue mínimas
- SR-US-024 - Não utilizado e postergado
- SR-US-025 - Uso incorreto do valor salvo
- SR-US-026 - Restrições da atividade
- SR-US-027 - Pacotes necessários
- ST-USG-28 — restringir modelos de invocação de arquivos
- ST-USG-032 — rótulos obrigatórios
- ST-USG-034 — URL do Automation Hub
- Variáveis
- Argumentos
- Namespaces Importados
- Automações codificadas
- Automação assistida baseada em gatilho
- Gravação
- Elementos de Interface Gráfica
- Fluxo de controle
- Seletores
- Repo. de Objetos
- Extração de Dados
- Automação de imagem e texto
- Automação de tecnologias Citrino
- Automação RDP
- Automação da Salesforce
- Automação SAP
- Automação do Varear Horizonte
- Geração de logs
- A ferramenta ScreenScrapeJavaSupport
- O protocolo Servodrive
- Test Suite — Studio
- Extensões
- Sobre extensões
- Ferramenta SetupExtensions
- UiPathRemoteRuntime.exe não está sendo executado na sessão remota
- O UiPath Remote Runtime bloqueia a sessão do Citrix de ser fechado
- O UiPath Remote Runtime causa vazamento de memória
- Os pacotes UiPath.UIAutomation.Activities e versões do UiPath Remote Runtime são incompatíveis
- A extensão do UiPath necessária não está instalada na máquina remota
- Configurações de resolução de tela
- Políticas de grupo do Chrome
- Não é possível se comunicar com o navegador
- A extensão do Chrome é removida automaticamente
- A extensão pode ter sido corrompida
- Verifique se a extensão para o Chrome está instalada e habilitada
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Habilite o Acesso às URLs do arquivo e o Modo Anônimo
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensões para Chrome
- Extensão do Chrome no Mac
- Políticas de grupo Edge
- Não é possível se comunicar com o navegador
- A extensão Edge é removida automaticamente
- A extensão pode ter sido corrompida
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- Lista de extensões para Edge
- Extensão para o Varear Horizonte
- Plug-in do SAP Solution Manager
- Suplemento do Excel
- Solução de problemas
- Sobre a solução de problemas
- Suporte e limitações do Microsoft Apo-V
- Solução de problemas do Internet Explorer x64
- Problemas do Microsoft Office
- Como identificar elementos de EU em PDF com opções de acessibilidade
- Reparando o suporte da Active Accessibility
- Validation of large Windows-legacy projects takes longer than expected
Caso de Teste Codificado
Os casos de teste codificados automatizam e validam o comportamento do aplicativo de maneira estruturada. Eles são semelhantes a casos de teste de pouco código e permitem automação flexível usando código.
- Organizar - A fase de organização prepara o aplicativo.
- Agir - A fase de agir executa ações específicas.
- Afirmar - A fase de afirmar verifica os resultados esperados.
Os casos de teste codificados também podem invocar outros fluxos de trabalho ou casos de teste de pouco código, permitindo reutilização de código. Esta integração permite a criação de cenários de teste flexíveis.
Você também pode aplicar modelos de execução para casos de teste codificados. Visite Modelos de execução para saber como trabalhar com modelos de execução.
As automações codificadas apresentam um design estruturado com namespaces , classes auxiliares e métodos de Entry Point. O framework de automações codificadas permite escrever as automações usando a linguagem de programação C#.
Siga a estrutura detalhada de uma automação codificada conforme descrito nas seções a seguir.
Ao criar uma automação codificada, um namespace é gerado automaticamente usando o nome do projeto do Studio. Por exemplo, se o seu projeto do Studio for denominado "Meu projeto", o namespace para todas as automações codificadas será "Meu projeto".
Além disso, se você criar uma automação codificada dentro de uma pasta no seu projeto do Studio, o namespace será o nome do projeto e o nome da pasta. Por exemplo, se o seu projeto do Studio se chamar "Meu projeto" e a pasta se chamar "local", o namespace será "Meuprojeto.local".
CodedWorkflow
do pacote UiPath.CodedWorkflow. Essa classe dá à automação acesso às interfaces necessárias para serviços (iguais a pacotes de atividades), com base nos pacotes de atividades instalados em seu projeto.
CodedWorkflow
, criando uma relação do tipo CodedAutomationExample : CodedWorkflow
. Isso significa que a classe CodedAutomationExample
herda atributos, métodos e funcionalidade da classe CodedWorkflow
. Essencialmente, ele pode acessar e utilizar as funcionalidades definidas na classe CodedWorkflow
, o que fornece uma base para a automação codificada, tornando mais fácil criar e personalizar o comportamento da automação.
CodedWorkflow
é declarada como uma classe parcial, permitindo estender suas funcionalidades definindo a mesma classe parcial CodedWorkflow
em um arquivo de código-fonte. Dessa forma, você pode adicionar novos campos e métodos para personalizar ainda mais o comportamento de suas automações codificadas. Você pode usar essa abordagem para implementar uma interface Antes e Depois, especificamente para casos de teste codificados.
CodedWorkflow
herda a classe CodedWorkflowBase
.
CodedWorkflowBase
contém as funcionalidades integradas que uma automação codificada herda. Esta classe contém métodos e propriedades específicas para gerenciar instâncias de fluxo de trabalho, acesso a runtime, manipulação de contêineres de serviço e configuração de contextos de ambiente. A classe CodedWorkflowBase
também oferece outro método separado para registro de log que você mesmo pode personalizar.
CodedWorkflowBase
.
CodedWorkflowBase
na tabela abaixo:
Método | Description |
---|---|
serviceContainer(ICodedWorkflowServiceContainer) | Fornece acesso ao contêiner de injeção de dependência específico do fluxo de trabalho codificado atual. Esse contêiner, conhecido como contêiner de serviço, permite recuperar instâncias de serviços que foram registrados nele. |
GetRunningJobInformation() | Recupera informações sobre o trabalho atualmente em execução no contexto do fluxo de trabalho codificado. O método acessa a propriedade RunningJobInformation do objeto executorRuntime , que contém informações sobre status do trabalho, progresso, parâmetros e carimbos de data/hora.
|
Log(string message, LogLevel level = LogLevel.Info, IDictionary<string, object> additionalLogFields = null) | Adiciona campos de log adicionais às mensagens de log com atributos especificados. |
RunWorkflow(string
workflowFilePath, IDictionary<string, object> inputArguments = null, TimeSpan? timeout = null, bool isolated = false,
InvokeTargetSession targetSession = InvokeTargetSession.Current) | Fornece uma estrutura para executar um fluxo de trabalho no contexto de um determinado runtime de fluxo de trabalho. Ele pode definir parâmetros, lidar com isolamento potencial e iniciar a execução do fluxo de trabalho. A tarefa retornada fornece os resultados do fluxo de trabalho executado, incluindo sua saída e seus argumentos de entrada/saída. |
RunWorkflowAsync(string
workflowFilePath, IDictionary<string, object> inputArguments = null, TimeSpan? timeout = null, bool isolated = false,
InvokeTargetSession targetSession = InvokeTargetSession.Current) | Fornece uma estrutura para executar um fluxo de trabalho de forma assíncrona no contexto do runtime do fluxo de trabalho dado. Ele pode definir parâmetros, lidar com isolamento potencial e iniciar a execução do fluxo de trabalho. A tarefa retornada fornece os resultados do fluxo de trabalho executado, incluindo sua saída e seus argumentos de entrada/saída. |
DelayAsync(TimeSpan time) e DelayAsync(int delayMs) | Suspende a execução por um período especificado de tempo de forma assíncrona. |
Delay(TimeSpan time) e Delay(int delayMs) | Suspende a execução por um período de tempo especificado. |
HttpClient BuildClient (string scope = "Orchestrator", bool force = true) | Cria um cliente HTTP com um escopo e um token de acesso especificados. |
RegisterServices (ICodedWorkflowsServiceLocator serviceLocator) | Registra serviços (pacotes de atividades) no localizador de serviços do fluxo de trabalho codificado. Você pode substituí-lo quando quiser injetar serviços personalizados no contêiner de injeção de dependência. Aprenda como criar e usar serviços personalizados (pacotes de atividades codificadas) aqui. |
Execute()
e atribuído como Workflow
ou TestCase
. Você pode alterar o nome do método, desde que o atribua a Workflow
ou a TestCase
.
Execute()
([TestCase]
ou [Workflow]
) dentro de um arquivo, que herda a classe Coded Workflow
.
Neste método, você pode adicionar argumentos de entrada e/ou saída, que são equivalentes aos argumentos In, Out ou In/Out em automações de pouco código. Acesse o tutorial Trabalhando com argumentos de entrada e saída para aprender como usar argumentos em automações codificadas.
Execute()
.