Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como automatizar a interface de usuário (UI) no Windows usando UI Automation

A automação da interface de usuário (UI) é uma técnica crucial para a criação de testes automatizados, scripts de manutenção e outras tarefas repetitivas que envolvem a interação com a interface gráfica de um sistema operacional. No ambiente Windows, o Microsoft UI Automation é uma tecnologia que permite aos desenvolvedores criar scripts e programas que interagem com a interface de usuário de forma programática.


O Microsoft UI Automation é uma API que fornece uma maneira para os aplicativos acessarem, identificarem e manipularem elementos da interface de usuário. Isso é particularmente útil para testes automatizados, onde é necessário simular a interação do usuário com o software.


Exemplos:


1. Automatizando uma Aplicação com PowerShell e UIAutomation


O PowerShell, em conjunto com o módulo UIAutomation, pode ser utilizado para automatizar tarefas na interface de usuário. Abaixo está um exemplo de script PowerShell que abre o Bloco de Notas, escreve um texto e salva o arquivo.


   # Instale o módulo UIAutomation se ainda não estiver instalado
Install-Module -Name UIAutomation -Scope CurrentUser

# Importa o módulo UIAutomation
Import-Module UIAutomation

# Inicia o Bloco de Notas
Start-Process notepad
Start-Sleep -Seconds 2

# Obtém a janela do Bloco de Notas
$notepad = Get-UIAWindow -n 'Untitled - Notepad'

# Define o foco na janela do Bloco de Notas
$notepad.SetFocus()

# Escreve texto no Bloco de Notas
$notepad | Send-UIAKeys "Hello, this is an automated text!"

# Abre o menu "File" e seleciona "Save As"
$notepad | Invoke-UIAMenuItem -Name 'File' -InvokePattern
Start-Sleep -Seconds 1
$notepad | Invoke-UIAMenuItem -Name 'Save As' -InvokePattern

# Espera pela janela "Save As"
$saveAsWindow = Get-UIAWindow -n 'Save As'

# Define o nome do arquivo e salva
$saveAsWindow | Send-UIAKeys "AutomatedFile.txt"
$saveAsWindow | Send-UIAKeys "{Enter}"

2. Automatizando Tarefas com C# e Microsoft UI Automation


Para desenvolvedores C#, a biblioteca System.Windows.Automation pode ser usada para automatizar a UI. Abaixo está um exemplo simples de como abrir o Bloco de Notas e escrever um texto.


   using System;
using System.Diagnostics;
using System.Windows.Automation;

class Program
{
static void Main()
{
// Inicia o Bloco de Notas
Process notepad = Process.Start("notepad.exe");
notepad.WaitForInputIdle();

// Obtém a janela do Bloco de Notas
AutomationElement notepadWindow = AutomationElement.FromHandle(notepad.MainWindowHandle);

// Obtém o controle de edição do Bloco de Notas
AutomationElement edit = notepadWindow.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Edit));

// Define o texto no controle de edição
ValuePattern valuePattern = edit.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern;
valuePattern.SetValue("Hello, this is an automated text!");
}
}


Nota: O uso de UI Automation pode variar dependendo da versão do Windows e do ambiente de desenvolvimento utilizado. Certifique-se de consultar a documentação oficial da Microsoft para mais detalhes e atualizações.

To share Download PDF