Entenda SystemUtil.Run, SetSecure, Set e Type: QTP/UFT

⚡ Resumo Inteligente

SystemUtil.Run é o UFT Um comando que inicia um arquivo ou aplicativo no começo de uma sessão de execução, enquanto Set, SetSecure e Type enviam valores e sequências de teclas para a janela que abrem.

  • 🔘 Inserção automática: Iniciando um aplicativo a partir do Windows Iniciar menu durante a gravação UFT Um programa escreve a etapa SystemUtil.Run para você.
  • ☑️ Cinco argumentos: O comando `run` aceita arquivo, parâmetros, diretório, operação e modo, portanto, uma única instrução pode abrir, editar, explorar, encontrar ou imprimir um alvo.
  • ✅ Conjunto versus Tipo: O comando Set insere um valor diretamente em um campo, enquanto o comando Type envia comandos de teclado brutos, como micTab, que seriam necessários para um usuário.
  • 🧪 Senhas SetSecure: As senhas registradas são armazenadas como sequências codificadas que não podem ser revertidas para o texto original.
  • 🛠️ Codificador de senha: A interface gráfica do Password Encoder e o CryptonCMD.exe produzem as mesmas strings codificadas fora de uma sessão de gravação.
  • 📌 Nome atual: QTP é agora OpenText Testes funcionais (UFT Um), e SystemUtil.Run substitui a instrução InvokeApplication legada.

Instruções SystemUtil.Run, SetSecure, Set e Type em um QTP/UFT Um roteiro

SystemUtil.Run em UFT

Todo teste de GUI gravado precisa de uma primeira etapa que traga o aplicativo em teste para a tela. OpenText Testes funcionais (UFT Uma, anteriormente Micro Focus UFT e originalmente HP QTP), esse passo é Utilitário do Sistema.ExecutarVamos entender o seguinte trecho de código.

SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe"
Dialog("Login").WinEdit("Agent Name:").Set "Guru"
Dialog("Login").WinEdit("Agent Name:").Type micTab
Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
  • O primeiro passo é o O comando SystemUtil.Run é usado por padrão por UFT/QTP Abrir um aplicativo. Durante a gravação, usando o Windows Menu Iniciar, navegamos até o “Reserva de voo"aplicativo". Naquela época, a Micro Focus UFT Identificou a localização do arquivo executável e inseriu o comando SystemUtil.Run para abri-lo.
  • A linha 2 define o nome do agente como Guru conforme mostrado na Tela Ativa
  • A linha 3 é pressionar a tecla Tab em um teclado para trazer o foco do campo Nome do agente para o campo Senha, que é exatamente esta etapa. Os usuários humanos precisam usar as teclas Tab ou clicar para focar em um objeto específico na tela. Por outro lado, Teste rápido pode identificar diretamente um objeto usando propriedades do objeto e não requer essas operações de “manobra”Podemos excluir esta etapa, pois UFT Ainda será possível definir o campo de senha sem essa operação.
  • A linha 4 está definindo a senha como Mercury. UFT Uma delas criptografa automaticamente as senhas. inserido durante a gravação para evitar violações de segurança. Este valor não pode ser descriptografado, ou seja, não há como recuperar o valor original usando esses dados criptografados. Você pode criptografar explicitamente uma senha usando a ferramenta Password Encoder. Para fins de aprendizado, usaremos a senha em sua forma bruta. E a operação também mudará para Definir
  • A linha 5 está clicando no botão ok
  • A linha 6 está fechando a janela

⚠️ Nota de versão: O caminho registrado acima aponta para o antigo C:\Arquivos de Programas\HP\samples\flight Localização utilizada pela HP QTPO aplicativo de exemplo de reserva de voos ainda é fornecido com UFT Uma, mas na pasta de instalação atual, portanto o caminho literal em um script gravado hoje será diferente.

Clique aqui. se o vídeo não estiver acessível

Sintaxe e argumentos do SystemUtil.Run

A linha gravada acima usa apenas o primeiro argumento, mas o método aceita cinco. Conhecer todos eles transforma SystemUtil.Run de um artefato de gravação em uma etapa de inicialização deliberada que você pode escrever manualmente.

SystemUtil.Run file, [params], [dir], [op], [mode]
Argumento Requeridos? O que ele faz
lima Exigido Nome do arquivo ou aplicativo a ser executado. Um arquivo não executável é aberto no aplicativo associado.
params Opcional Parâmetros passados ​​para a aplicação quando lima é um executável. O valor padrão é uma string vazia.
dir Opcional Diretório padrão para o aplicativo ou arquivo. O padrão é uma string vazia.
op Opcional Ação a ser executada: abrir, editar, explorar, encontrar ou imprimir. Um valor em branco executa a ação de abrir.
modo Opcional Número inteiro que controla como a janela é exibida ao ser aberta. O valor padrão é 1.

O op O argumento é aquele que a maioria dos testadores nunca descobre. Ele se relaciona aos mesmos verbos. Windows O Explorer oferece opções ao clicar com o botão direito do mouse.

valor op Resultado
aberto Abre o arquivo, pasta ou executável nomeado em lima.
editar Inicia um editor e abre o documento para edição. Falha se o arquivo não for um documento editável.
explorar Explora a pasta com o nome em lima.
find Inicia uma pesquisa a partir do caminho da pasta especificado.
impressão Imprime o documento nomeado em limaFalha se o arquivo não for imprimível.

Para modoOs valores que importam no dia a dia são 0 (ocultar a janela e ativar outra), 1 (ativar e exibir no tamanho original), 2 (ativar minimizada) e 3 (ativar maximizada). Valores mais altos controlam o foco e restauram o comportamento, sendo raramente necessários em um teste.

Exemplos de SystemUtil.Run: Aplicativos, Navegadores e Arquivos

Os exemplos abaixo constroem um argumento por vez, para que você possa ver o que cada posição adiciona. Cole-os em uma nova ação e execute-os linha por linha.

1) somente arquivo — a forma útil mais curta. Um executável no caminho do sistema não precisa de pasta, e um documento abre em qualquer aplicativo. Windows já se inscreveu.

SystemUtil.Run "notepad.exe"
SystemUtil.Run "C:\Data\Orders.txt"

2) arquivo mais parâmetros — Qualquer coisa que o aplicativo aceite em uma linha de comando deve ser inserida aqui. É assim que um navegador é aberto em um endereço específico, em vez de sua página inicial.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"

3) adicionando diretório — útil quando um aplicativo se recusa a iniciar a menos que sua própria pasta seja o diretório de trabalho.

SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"

4) adicionando op — o mesmo arquivo, quatro resultados diferentes.

SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit"
SystemUtil.Run "C:\Data", "", "", "explore"
SystemUtil.Run "C:\Data", "", "", "find"
SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"

5) Adicionando modo — Abra a janela maximizada para que as etapas posteriores não sejam bloqueadas por um controle parcialmente oculto.

SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3

Como a janela aberta se torna um objeto de teste comum, a linha seguinte pode controlá-la. A documentação oficial associa os comandos Executar, Digitar e Fechar exatamente dessa maneira.

SystemUtil.Run "C:\type.txt", "", "", ""
Window("Text:=type.txt - Notepad").Type "happy days"
Window("Text:=type.txt - Notepad").Close

Observe a descrição Texto:= forma nesse trecho: nenhuma entrada de repositório é necessária. A mesma ideia é abordada detalhadamente em programação descritivaE caminhos fixos como os acima geralmente são melhor mantidos em variáveis ​​ambientais Assim, um único script é executado em cada máquina.

Defina, DefinaSeguro e Digite: Qual método usar?

As linhas 2 a 4 do roteiro gravado usam três métodos diferentes no mesmo tipo de campo de edição. Eles não são intercambiáveis, e escolher o método errado é uma causa comum de uma etapa ser concluída silenciosamente, sem que nada seja inserido.

Forma O que ele envia Use-o quando
Conjunto Insere um valor de texto simples diretamente no campo. Entrada de dados normal, incluindo uma senha que você possa manter legível.
SetSecure Escreve uma string codificada que UFT A decodificação ocorre em tempo de execução. Qualquer campo de senha, portanto o valor nunca aparece no script ou nos resultados.
Formato Envia comandos de teclado brutos, incluindo teclas como micTab. O comportamento do teclado faz parte do teste, ou seja, um controle reage apenas a teclas reais.

Conforme indicado no passo a passo, a tecla Tab na linha 3 existe apenas porque o gravador captou um hábito humano. UFT O campo de senha é identificado por suas propriedades, portanto, excluir essa linha não altera nada. Troque `SetSecure` por `Set` e o mesmo login funcionará com uma senha legível.

Dialog("Login").WinEdit("Password:").Set "mercury"

Para fazer o caminho inverso e codificar um valor fora de uma sessão de gravação, use o Codificador de senhaA ferramenta GUI é fornecida com UFT Uma única codificação, e a mesma, está disponível a partir da linha de comando como CryptonCMD.exe -e na pasta bin do produto. Ambos produzem strings que você pode inserir em um argumento SetSecure ou em um parâmetro da tabela de dadosO fornecedor deixa claro que essa codificação não é um padrão de segurança: ela oculta um valor na tela e não protege os dados reais do cliente.

Uma vez que esses três métodos se tornem naturais, o resto da linguagem se desenvolve rapidamente — o Noções básicas de VBScript e quanto maior UFT Uma série de tutoriais loops de cobertura, condições e funções reutilizáveis, enquanto Espionagem de Objetos e GetROProperty mostrar quais propriedades UFT Na verdade, um deles está combinando.

Perguntas Frequentes

Uma instrução Run é inserida automaticamente no teste sempre que você inicia um aplicativo a partir do Windows Menu Iniciar ou a caixa de diálogo Executar durante a gravação. Obrigadoping A afirmação feita à mão produz o mesmo resultado.

Não. A string codificada não pode ser convertida de volta para a senha original, e é por isso que um valor perdido precisa ser recodificado em vez de descriptografado. Substitua todo o argumento se a senha for alterada.

Use a ferramenta de codificação de senhas que acompanha o produto. UFT Uma das opções é executar o CryptonCMD.exe -e seguido da string da pasta bin do produto. Ambas geram um valor adequado para um argumento SetSecure ou uma célula de tabela de dados.

As configurações de Gravação e Execução podem abrir o aplicativo antes da primeira etapa, e a instrução InvokeApplication legada ainda funciona. O fornecedor mantém o InvokeApplication apenas para fins de compatibilidade com versões anteriores e recomenda o uso do Run em seu lugar.

Além de Window(…).Close, o objeto SystemUtil oferece CloseProcessByName, CloseProcessById, CloseProcessByHwnd, CloseProcessByWndTitle e CloseDescendentProcesses, que encerra todos os processos iniciados pela sessão de execução.

Os assistentes de IA podem elaborar instruções Run, Set e Type a partir de uma descrição em linguagem natural e sugerir correções quando um localizador falha. Cada linha gerada ainda precisa ser revisada em relação às propriedades reais do objeto antes de ser executada.

O Copilot completa scripts VBScript em qualquer editor compatível, permitindo a criação rápida de uma função auxiliar ou de um loop sobre dados de teste. UFT Como não há o plugin Copilot instalado, o código é colado no editor e verificado lá.

O caminho literal é a causa mais comum: uma pasta de instalação diferente, uma divisão entre Arquivos de Programas de 32 bits e 64 bits, ou uma unidade mapeada inexistente. Manter os caminhos em variáveis ​​de ambiente resolve o problema.

Resuma esta postagem com: