studio
2024.10
false
- Notas de Versão
- Introdução
- Configuração e Instalação
- Projetos de automação
- Dependências
- Tipos de fluxos de trabalho
- Fluxo de controle
- Comparação de arquivos
- Melhores Práticas de Automação
- Integração de controle de origem
- Sobre o controle de versões
- Como gerenciar projetos com o TÁS
- Como gerenciar projetos com o SN
- Dif. do fluxo de trabalho
- Depuração
- Geração de logs
- 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
- ST-NMG-017 - O nome da classe corresponde ao namespace padrão
- SR-DB-002 - Contagem alta de argumentos
- SR-DB-003 - Esvaziar bloco catechu
- SR-DB-007 - Múltiplas camadas Com fluxograma
- ST-DPB-010 - Várias instâncias de [Fluxo de trabalho] ou [Caso de teste]
- 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
- ST-USG-017 – Modificador de parâmetro inválido
- 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
- Introdução
- Registro de serviços personalizados
- Contextos Antes e Depois
- Gerando código
- Geração de caso de teste codificado a partir de casos de teste manuais
- Automação assistida baseada em gatilho
- Gravação
- Elementos de Interface Gráfica
- Seletores
- Repo. de Objetos
- Extração de Dados
- Automação de imagem e texto
- Automação das Tecnologias Citrix
- Automação RDP
- Automação do Varear Horizonte
- Automação da Salesforce
- Automação SAP
- Automaçāo da interface gráfica do macOS
- A ferramenta ScreenScrapeJavaSupport
- O protocolo Servodrive
- 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
- O pacote UiPath.UIAutomation.Activities e as versões do UiPath Remote Runtime não correspondem
- 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
- 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
- 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 Safari
- Extensão para o Varear Horizonte
- Extensão para Amazon WorkSpaces
- Plug-in do SAP Solution Manager
- Suplemento do Excel
- Teste do Studio
- Solução de problemas
- Sobre a solução de problemas
- Erros de compilação de montagem
- 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
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Guia do usuário do Studio
Última atualização 3 de set de 2025
Solicite um empréstimo com o UiBank
linkEste tutorial mostra como criar um caso de teste codificado (applyForLoan.cs) para verificar se a taxa de empréstimo calculada pelo aplicativo UiBank corresponde ao seu próprio cálculo. O caso de teste faz referência a um arquivo de código-fonte (LoanApplication.cs), contendo uma classe com métodos get e set usados para gerar dados de teste.
Pré-requisitos
- UiAutomation.Activities 23.10 ou superior.
- Testing.Activities 23.10 ou superior.
- System.Activities 23.10 ou superior.
- UiBank.
Crie um arquivo de código-fonte.
link- Crie uma classe chamada
LoanApplication
. - Crie um objeto público para cada campo no formulário de solicitação de empréstimo e use os métodos get e set para cada um deles.
Posteriormente, atribua valores aos objetos usando valores pré-definidos ou API de automação codificada, como RandomString ou RandomNumber.
public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }
public class LoanApplication { public string email {get;set;} public int income {get;set;} public int loanAmount {get;set;} public int loanTerm {get;set;} public int age {get;set;} public int expectedLoanRate {get;set;} }
Crie o caso de teste codificado
link- Crie um novo caso de teste codificado (Grupo de arquivos > Novo > Caso de teste codificado) e nomeie-o como applyForLoan.
-
Faça referência ao arquivo de código-fonte que você criou anteriormente em seu caso de teste codificado para gerar dados.
private LoanApplication myLoanApplication;
private LoanApplication myLoanApplication; -
Dentro da classe pública do caso de teste codificado (applyForLoan), mas fora do método Execute , crie outro método chamado InitializeTestData. Aqui você define os valores para cada campo dentro do formulário de solicitação de empréstimo.
public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }
public void InitializeTestData() { myLoanApplication = new LoanApplication(); myLoanApplication.age = 42; myLoanApplication.email = "john.doe@uipath.com"; myLoanApplication.income = 30000; myLoanApplication.loanAmount = decimal.ToInt32(testing.RandomNumber(20000,30000,0)); myLoanApplication.loanTerm = 5; myLoanApplication.expectedLoanRate = 8; }
-
Na seção Organizar, inicialize os dados de teste para seu caso de teste.
InitializeTestData();
InitializeTestData(); -
Capture todos os elementos da interface gráfica que você deseja usar em seu caso de teste codificado dentro do Repositório de objetos.
-
Acesse todos os elementos da interface gráfica no aplicativo e comece a automatizar! Abra o aplicativo UiBank e escolha solicitar um empréstimo.
var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);
var homeScreen = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.HomeScreen); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Products); homeScreen.Click(ObjectRepository.Descriptors.UiBank.HomeScreen.Loans); var applyForLoanScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.ApplyForLoan); applyForLoanScreen.Click(ObjectRepository.Descriptors.UiBank.ApplyForLoan.ApplyForALoan);
-
Preencha o formulário de solicitação de empréstimo com os dados de teste que você inicializou anteriormente.
var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString()); loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5"); Log(loanApplicationForm.ToString()); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000"); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());
var loanApplicationForm = uiAutomation.Open(ObjectRepository.Descriptors.UiBank.LoanApplication); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.EmailAddress, myLoanApplication.email); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanAmountRequested, myLoanApplication.loanAmount.ToString()); loanApplicationForm.SelectItem(ObjectRepository.Descriptors.UiBank.LoanApplication.LoanTerm, "5"); Log(loanApplicationForm.ToString()); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.CurrentYearlyIncome,"30000"); loanApplicationForm.TypeInto(ObjectRepository.Descriptors.UiBank.LoanApplication.Age, myLoanApplication.age.ToString());
-
Na seção Agir, adicione a ação de selecionar o botão Enviar.
loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication);
loanApplicationForm.Click(ObjectRepository.Descriptors.UiBank.LoanApplication.SubmitLoanApplication); -
Na seção Afirmar , recupere a taxa de empréstimo calculada pelo aplicativo e verifique se ele corresponde à taxa de empréstimo estimada no método InitializeTestData.
var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);
var loanResultsScreen = uiAutomation.Attach(ObjectRepository.Descriptors.UiBank.LoanResults); var actualLoanRate = loanResultsScreen.GetText(ObjectRepository.Descriptors.UiBank.LoanResults.LoanRate); testing.VerifyExpression(actualLoanRate == myLoanApplication.expectedLoanRate.ToString(),"The expected and actual loan rates are equal.",true, "Verify Expression", true, false);
Projeto de amostra
linkPara seguir as etapas e experimentar o tutorial por conta própria, consulte o seguinte projeto de exemplo: Solicitar um empréstimo com o UiBank.