- 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
- 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-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çã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 Citrix
- 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
- 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
- Automação de aplicativos em execução com um usuário diferente do Windows
- Validation of large Windows-legacy projects takes longer than expected
Guia do usuário do Studio
Sobre seletores
Para automatizar ações específicas na interface do usuário, é necessário interagir com diversas janelas, botões, listas suspensas, entre outros. Uma das maneiras em que os elementos de interface gráfica podem ser identificados é usar sua posição na tela, mas isso pode não ser confiável.
Para superar esse problema, o Studio usa o que chamamos de seletores. Eles armazenam os atributos de um elemento da interface gráfica e seus pais, na forma de um fragmento XML.
Na maioria das vezes, os seletores são gerados automaticamente pelo Studio e não requerem mais nenhuma entrada sua, especialmente se os aplicativos que você estiver tentando automatizar tiverem uma interface de usuário estática.
No entanto, alguns softwares possuem layouts que se modificam e atribuem nós com valores voláteis, como alguns aplicativos web. O Studio não pode prever essas alterações e, portanto, você pode ter que gerar manualmente alguns seletores.
Um seletor tem a seguinte estrutura:
<node_1/><node_2/>...<node_N/>
<node_1/><node_2/>...<node_N/>
O último nó representa o elemento GUI que interessa a você e todos os anteriores representam os pais desse elemento. <node_1> geralmente é referido como um nó raiz, e representa a janela superior do aplicativo.
Cada nó contém um ou mais atributos que ajudam a identificar um nível específico do aplicativo selecionado.
Cada nó tem o seguinte formato:
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
<ui_system attr_name_1='attr_value_1' ... attr_name_N='attr_value_N'/>
Cada atributo tem um valor atribuído. É importante escolher atributos com um valor constante. Se o valor de um atributo mudar a cada vez que o aplicativo for iniciado, o seletor não conseguirá identificar corretamente o elemento.
Os seletores são exibidos no painel Propriedades de atividades, em Entrada > Destino > Seletor. Todas as atividades relacionadas aos elementos gráficos têm essa propriedade.
A janela Opções de seleção permite selecionar e editar um destino. Para acessar essa janela, no painel Designer de Fluxo de Trabalho, clique no botão Opções no corpo de uma atividade e selecione Indicar destino na tela ou Editar destino.
A janela Editor de Seletor permite que você veja o seletor gerado automaticamente, edite-o e seus atributos. Para acessar essa janela, use o botão Reticências próximo ao campo Seletor, no painel Propriedades.
Opção |
Description |
---|---|
Validar |
O botão mostra o status do seletor, verificando a validade da definição do seletor e a visibilidade do elemento de destino na tela. O botão Validar possui três estados:
O botão está correlacionado aos estados de validação do UI Explore. |
Indicar Elemento |
Indica um novo elemento da interface gráfica para substituir o anterior. |
Reparar |
Permite que você indique novamente o mesmo elemento de interface gráfica de destino e repare o seletor. Essa operação não substitui completamente o seletor anterior. O botão fica disponível apenas quando o seletor for inválido. |
Highlight |
Traz o elemento de destino para o primeiro plano. O destaque continua até que a opção seja desabilitada com um clique. O botão será habilitado apenas se o seletor for válido. |
Editar Atributos |
Contém todos os componentes da aplicação necessários para identificar a aplicação de destino (uma janela, botão, etc.). Esta seção é editável. |
Editar Seletor |
Contém o seletor real. Esta seção é editável. |
Abrir no Explorador de Interface Gráfica |
Inicia o UI Explorer. A opção fica habilitada apenas para seletores válidos. |
As seguintes tabelas apresentam a compatibilidade entre tags e atributos utilizados para criar seletores e a capacidade dos seletores:
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
app |
|
|
|
cls |
|
|
|
title |
|
|
|
aaname |
|
|
|
ctrlname (WinForms) |
|
|
|
ctrlid (WinForms) |
|
|
|
idx |
|
|
|
tid |
|
|
|
pid |
|
|
|
isremoteapp |
|
|
|
aastate |
|
|
|
sapClient (SAP) |
|
|
|
sapLanguage (SAP) |
|
|
|
sapProgram (SAP) |
|
|
|
sapScreen (SAP) |
|
|
|
sapSession (SAP) |
|
|
|
sapSysName (SAP) |
|
|
|
sapSysNumber (SAP) |
|
|
|
sapSysSessionId (SAP) |
|
|
|
sapTransaction (SAP) |
|
|
|
sapUser (SAP) |
|
|
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
url |
|
|
|
htmlwindowname |
|
|
|
title |
|
|
|
class |
|
|
|
app |
|
|
|
idx |
|
|
|
pid |
|
|
|
tid |
|
|
|
excludehwnd |
|
|
|
bsid (Browser Session ID) |
|
|
|
isremoteapp |
|
|
|
Os atributos tag e id usam valores de strings. Todos os outros atributos WEBCTRL têm valores dinâmicos.
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
tag |
|
|
|
idx |
|
|
|
aaname |
|
|
|
name |
|
|
|
id |
|
|
|
parentid |
|
|
|
class |
|
|
|
css-selector |
|
|
|
innertext |
|
|
|
visibleinnertext |
|
|
|
isleaf |
|
|
|
parentclass |
|
|
|
parentname |
|
|
|
src |
|
|
|
href |
|
|
|
tableCol |
|
|
|
tableRow |
|
|
|
colName |
|
|
|
rowName |
|
|
|
aria-label |
|
|
|
aria-labelledby |
|
|
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
Role |
|
|
|
name |
|
|
|
automationid |
|
|
|
labeledby |
|
|
|
aastate |
|
|
|
virtualname |
|
|
|
text |
|
|
|
rowName |
|
|
|
idx |
|
|
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
accelkey (Accelerator Key) |
|
|
|
acskey (Access Key) |
|
|
|
automationid |
|
|
|
cls |
|
|
|
helpText |
|
|
|
legacyAccHelp (Legacy Accessible Help) |
|
|
|
enabled |
|
|
|
kbfocus (Is Keyboard Focusable) |
|
|
|
ispwd (Is Password) |
|
|
|
itemstatus |
|
|
|
itemtype |
|
|
|
rtid (Runtime ID) |
|
|
|
Role |
|
|
|
name |
|
|
|
pid |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
Role |
|
|
|
name |
|
|
|
virtualname |
|
|
|
javastate |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
rowName |
|
|
|
colName |
|
|
|
idx |
|
|
|
Atributo |
Fuzzy |
RegEx |
Diferenciação de maiúsculas e minúsculas |
---|---|---|---|
id |
|
|
|
leafid Esse atributo não fica exposto no painel Atributo porque é mutuamente exclusivo com o atributo id. Ele pode ser adicionado manualmente. |
|
|
|
tableRow |
|
|
|
tableCol |
|
|
|
colName |
|
|
|
relpath |
|
|
|
itemId |
|
|
|
Observe que a tag Silverlight não é compatível com os recursos Fuzzy, RegEx e Diferenciação de maiúsculas e minúsculas.