- Visão geral
- Automação de Interface Gráfica
- Aplicativos e tecnologias automatizados com a Automação de Interface Gráfica
- Compatibilidade do projeto
- UI-ANA-016 - Extrair URL de navegador aberto
- UI-ANA-017 - ContinuarComErro verdadeiro
- UI-ANA-018 - Listar atividades de OCR/Imagem
- UI-DBP-006 - Uso do contêiner
- UI-DBP-013 - Uso Incorreto da Automação do Excel
- UI-DBP-030 - Uso de variáveis proibidas em seletores
- UI-PRR-001 - Simular clique
- UI-PRR-002 - Simular Digitação
- UI-PRR-003 - Uso incorreto do aplicativo aberto
- UI-PRR-004 - Atrasos Embutidos em Código
- UI-REL-001 - Idx grande em Seletores
- UI-SEC-004 - Dados de e-mail do seletor
- UI-SEC-010 — restrições de app/URL
- UI-USG-011 - Atributos não permitidos
- UX-SEC-010 — restrições de app/URL
- UX-DBP-029 - Uso de senha não segura
- UI-PST-001 - Nível de log de auditoria nas configurações do projeto
- Ferramenta de Migração de Navegador do UiPath
- Região do Recorte
- Computer Vision Recorder
- Ativar
- Anchor Base
- Anexar Navegador
- Anexar Janela
- Block User Input
- Texto Explicativo
- Marcar
- Click
- Clicar na Imagem
- Click Image Trigger
- Click OCR Text
- Clicar no Texto
- Click Trigger
- Close Application
- Fechar Guia
- Close Window
- Context Aware Anchor
- Copy Selected Text
- Element Attribute Change Trigger
- Element Exists
- Element Scope
- Element State Change Trigger
- Export UI Tree
- Extrair Dados Estruturados
- Find Children
- Localizar Elemento
- Localizar Imagem
- Find Image Matches
- Find OCR Text Position
- Localizar Elemento Relativo
- Find Text Position
- Get Active Window
- Get Ancestor
- Get Attribute
- Get Event Info
- Get From Clipboard
- Obter Texto Completo
- Get OCR Text
- Get Password
- Get Position
- Get Source Element
- Get Text
- Obter Texto Visível
- Voltar
- Avançar
- Ir para a Página Inicial
- Google Cloud Vision OCR
- Hide Window
- Highlight
- Hotkey Trigger
- Hover
- Focalizar Imagem
- Hover OCR Text
- Focalizar Texto
- Imagem Existe
- Indicate On Screen
- Inject .NET Code
- Inject Js Script
- Invoke ActiveX Method
- Key Press Trigger
- Carregar Imagem
- Maximize Window
- Microsoft Azure Computer Vision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Minimize Window
- Monitorar eventos
- Mouse Trigger
- Move Window
- Navegar Para
- OCR Text Exists
- On Element Appear
- On Element Vanish
- Aparecer Na Imagem
- Desaparecer Na Imagem
- Abrir Aplicativo
- Abrir Navegador
- Atualizar Navegador
- Replay User Event
- Restore Window
- Save Image
- Select Item
- Select Multiple Items
- Enviar Tecla de Acesso
- Set Clipping Region
- Set Focus
- Set Text
- Set To Clipboard
- Set Web Attribute
- Show Window
- Iniciar Processo
- System Trigger
- Take Screenshot
- Tesseract OCR
- Texto Existe
- Dica de ferramenta
- Type Into
- Digitar Texto Seguro
- Use Foreground
- Wait Attribute
- Esperar Elemento Desaparecer
- Aguardar Imagem Desaparecer
- Application event trigger
- Check/Uncheck
- Check App State
- Check Element
- Click
- Click Event Trigger
- Fechar pop-up
- Drag and Drop
- Extract Table Data
- For Each UI Element
- Get Attribute
- Get Browser Data
- Get Text
- Get URL
- Go To URL
- Highlight
- Hover
- Inject Js Script
- Keyboard Shortcuts
- Keypress Event Trigger
- Mouse Scroll
- Navigate Browser
- Select Item
- Set Browser Data
- Set Runtime Browser
- Set Text
- Take Screenshot
- Type Into
- Use Application/Browser
- Realize pesquisa no navegador e recupere resultados usando APIs de Automação de interface gráfica
- Navegação na Web
- Localizar imagens
- Clicar em imagens
- Disparar e monitorar eventos
- Criar e substituir arquivos
- Páginas HTML: extrair e manipular informações
- Manipulação de janelas
- Seleção automatizada de listas
- Localizar e manipular elementos de janela
- Gerenciar automação de texto
- Carregar e processar imagens
- Gerenciar ações ativadas pelo mouse
- Automatizar o runtime de aplicativos
- Execução automatizada de um aplicativo local
- Navegação em navegador
- Automação da Web
- Exemplo de escopo de disparador
- Computer Vision Local Server
- Automação Móvel
- Notas de versão
- Compatibilidade do projeto
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Instalar Aplicativo
- Gerenciar Aplicativo Atual
- Manage Other App
- Open DeepLink
- Abrir URL
- Mobile Device Connection
- Deslizar Direcional
- Padrão de Desenho
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Take Screenshot
- Obter parte da captura de tela
- Element Exists
- Execute Command
- Get Attribute
- Get Selected Item
- Get Text
- Set Selected Item
- Set Text
- Deslizar
- Tap
- Type Text
- Creating variables from selector attributes
- Introdução às APIs de automação móvel
- Terminal
- Notas de versão
- Sobre o pacote de atividades Terminal
- Compatibilidade do projeto
- Melhores práticas
- Find Text
- Get Color At Position
- Get Cursor Position
- Get Field
- Obter Campo na Posição
- Obter Área da Tela
- Get Text
- Obter Texto na Posição
- Mover Cursor
- Mover cursor para o texto
- Enviar Tecla de Controle
- Send Keys
- Send Keys Secure
- Set Field
- Definir Campo na Posição
- Terminal Session
- Aguardar Texto do Campo
- Aguardar Texto da Tela
- Aguardar Texto na Posição
Introdução às APIs de automação móvel
Este guia de início rápido ajuda você a criar sua primeira automação codificada, usando APIs de automação móvel. O tutorial usa o aplicativo UiPath® Android Basic e um Emulador do Google Pixel do Sauce Labs para testes automatizados.
Para usar o dispositivo móvel e aplicativo desejados dentro de nossa automação codificada, temos que criá-los primeiro no MDM (Mobile Device Manager):
- Para criar o aplicativo:
- Abra o MDM e acesse Aplicativos
- Selecione Adicionar um aplicativo.
- Na janela Editar aplicativo, insira as informações necessárias:
- Nome: para esse exemplo, use
Basic App - Android
. - Tipo: selecione Aplicativo para um aplicativo nativo.
- Plataforma: selecione Android para automatizar o aplicativo Android.
- Aplicativo: para esse exemplo, insira o seguinte link para o Aplicativo Básico Android:
https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
. - Pacote de aplicativos: insira o pacote de aplicativos móveis, como
com.example.basicapp
. - Atividade do aplicativo: insira a instância de atividades, como:
.core.MainActivity
. - Para recursos adicionais desejados, adicione o recurso
appium:app
para garantir que o aplicativo funcione conforme o esperado.
Tabela 1. Recursos Adicionais Desejados Name Valor appium:app
appium:app https://uipathtestappsto.blob.core.windows.net/testapps/BasicAppAndroid.apk
- Nome: para esse exemplo, use
- Para criar o dispositivo:
- Acesse Dispositivos e selecione Adicionar um dispositivo.
- Nomeie o dispositivo. Para esse exemplo, use
Google Pixel 3a GoogleAPI Emulator
. - Defina os seguintes parâmetros: URL do Appium, Plataforma, Nome do dispositivo, Versão da plataforma.
- Recupere os parâmetros do seu provedor de farm de dispositivos móveis escolhido. Neste exemplo, estamos usando Sauce Labs.
- Para obter a URL do Appium, acesse Conta e, em seguida, Configurações do usuário. Copie a URL sob demanda em Criação de driver.
- Para obter Plataforma, Nome do dispositivo e Versão da plataforma, acesse Automatizado, em seguida, Configurador de plataforma. Selecione os recursos para
Google Pixel 3a GoogleAPI Emulator
eAndroid Emulator version 10.0
. Em Script de configuração, escolha seuAppium version
. Para esse exemplo, use 2.0.0. - Copie e cole os valores do Sauce Labs no MDM.
-
- Selecione Salvar e fechar.
- Selecione Iniciar um aplicativo nesse dispositivo e conecte o dispositivo ao aplicativo criado anteriormente.
Para automatizar seu aplicativo móvel preferido, grave seus elementos móveis dentro do Repositório de Objetos do projeto. Para esse exemplo, criamos um aplicativo Aplicativo básico com um HomeScreen geral, contendo três elementos de interface gráfica que usamos para automatizar. Verifique a lista a seguir para ver como a estrutura do Repositório de Objetos aparece:
- BasicApp
- HomeScreen
- EditText
- SingleClickButton
- VerifyText
- HomeScreen
Depois de configurar seu dispositivo e aplicativo no MDM, comece a escrever o código para sua automação. Antes de começar a usar as APIs de automação móvel, você precisa estabelecer uma conexão entre seu dispositivo móvel e o aplicativo escolhido, usando as APIs correspondentes.
connection
é uma classe que representa a conexão que você cria entre um dispositivo e um aplicativo, que expõe as APIs que você pode usar para automatizar cenários de testes móveis. Acesse Conexão para obter mais informações sobre a criação de um connection
.
Para criar uma conexão, você tem um conjunto de APIs dedicadas que você pode usar. Nesse exemplo, usamos a API Connect, com a segunda sobrecarga, que exige os nomes de dispositivos e aplicativos como strings.
Crie a conexão usando as seguintes etapas:
- Comece com uma instrução
using
, para evitar criar uma variável separada. - Dentro da instrução
using
, chame a API Connect, com a segunda versão de sobrecarga.Para essa sobrecarga, insira o nome do dispositivo e o nome do aplicativo para estabelecer a conexão.
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android"))
[TestCase] public void Execute() { using (Connection connection = mobile.Connect( "Google Pixel 3a GoogleAPI Emulator", "Basic App - Android")) - Opcionalmente, para fins de depuração, você pode adicionar uma mensagem
Log
.Log("Connection established");
Log("Connection established");
O fluxo de automação nesse exemplo inclui tocar em certos botões, obter texto exibido na tela do celular e mover um controle deslizante. Essas ações simulam cenários de automação móvel da vida real.
IElementDescriptors
. Eles representam elementos de interface gráfica acessados diretamente do Repositório de Objetos. Além de IElementDescriptors
, você pode usar outros tipos de seletores com APIs de automação móvel, como ObjectRepositoryTarget
e SelectorTarget
. Acesse Seletores de API para saber como e quando usar outros tipos de seletores.
- Chame a API Tap para clicar em SingleClickButton no aplicativo Android Basic.
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton ");
// Tap the SingleClickButton connection.Tap(Descriptors.BasicApp.HomeScreen.SingleClickButton); Log("Tapped SingleClickButton "); - Use a API SetText para inserir um texto específico no campo EditText.
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text");
string expectText = "Random text"; connection.SetText(Descriptors.BasicApp.HomeScreen.EditText, expectText); Log("Inserted random text"); - Obtenha o texto que você definiu anteriormente e verifique se ele corresponde ao texto do elemento de interface gráfica VerifyText. Use as APIs GetText e VerifyExpression.
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null;
var actualText = connection.GetText(Descriptors.BasicApp.HomeScreen.VerifyText); testing.VerifyExpression(expectText == actualText, "EditText validation failed."); SelectorTarget selector = null; - Use a API PositionalSwipe para mover o controle deslizante.
A API PositionalSwipe requer duas variáveis
Point
, representando os pontos inicial e final para a ação de deslizar. Crie esses pontos antes de usar a API para legibilidade aprimorada.// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");
// Perform a positional swipe operation to use the slider var startPoint = new Point(226, 304); var endPoint = new Point(296, 304); connection.PositionalSwipe(startPoint, endPoint); Log("Performed Swipe action.");Para obter a posição da tela, acesse a conexão ativa no MDM. Passe o mouse sobre a tela do celular. Isso exibirá o local do cursor em pixels no canto inferior esquerdo do MDM.
Para seguir as etapas neste guia de Início rápido ou para experimentá-lo por conta própria, baixe a amostra do Guia de início rápido de APIs de automação móvel.