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.
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.
