Ações em QTP/UFT com exemplo
⚡ Resumo Inteligente
Ações em UFT/QTP Divida um script de teste em unidades lógicas e reutilizáveis para que os testadores possam criar, manter e compartilhar a automação mais rapidamente. Esta página explica os três tipos de ação, como dividi-las e chamá-las, e como passar dados entre as ações.

O que é uma ação em UFT/QTP?
Ação in UFT/QTP Divida um teste em “unidades lógicas” ou “processos de negócio”. Cada ação agrupa as etapas que executam uma tarefa reconhecível, como fazer login, pesquisar um voo ou reservar uma passagem. As ações ajudam a criar um script mais modular e eficiente.
Quando um script é criado, ele consiste em apenas uma ação. Você pode adicionar mais ações ao seu Micro Focus. UFT O script é elaborado conforme as necessidades, e cada ação adicionada mantém sua própria lógica e dados locais separados do restante do teste.
Dividir um script longo em ações compensa no momento em que um teste precisa ser alterado. Um testador pode atualizar uma ação, como a sequência de login, sem precisar mexer na lógica de busca ou finalização de compra que reside em outras ações. Esse isolamento também transforma as ações em blocos de construção reutilizáveis que outros scripts podem chamar em vez de gravar as mesmas etapas novamente.
Um script típico de reserva de voos, por exemplo, divide-se claramente em uma ação de login, uma ação de busca de voos e uma ação de reserva de passagens. Cada uma possui seus próprios passos e dados locais, de modo que um testador que precisa apenas verificar o login não precisa gravar ou manter o fluxo de reserva.
Tipos de ações em UFT/QTPReutilizáveis, não reutilizáveis e externos.
UFT/QTP Suporta três tipos de ações, e o tipo escolhido determina se uma ação pode ser compartilhada entre scripts ou permanece privada ao teste em que foi criada.
| Tipo de acão | Onde pode funcionar | Editável no Teste de Chamada |
|---|---|---|
| Reutilizável | O mesmo teste, várias vezes, ou qualquer outro teste. | Sim, a partir do teste que o possui. |
| Não reutilizável | Apenas o teste em que foi criado, e apenas uma vez. | Sim |
| Reutilizável externo | Chamada a partir de outro teste como uma ação compartilhada e armazenada. | Não, somente leitura; apenas a cópia local da tabela de dados é editável. |
Uma ação reutilizável torna-se uma ação externa No momento em que um teste diferente o chama em vez do teste que o possui. As ações externas permanecem somente leitura no teste que as chama, pois uma ação compartilhada pode ser usada por dezenas de scripts simultaneamente, e permitir que cada chamador edite as etapas quebraria os outros. Você ainda pode parametrizar a chamada e trabalhar localmente com uma cópia de sua tabela de dados.
Como regra geral, mantenha uma nova ação não reutilizável enquanto sua lógica ainda for específica para um único teste. PromoTorne-o reutilizável assim que um segundo script precisar das mesmas etapas e espere que ele se comporte como uma ação externa somente leitura no momento em que o segundo script o chamar.
Como dividir, copiar e chamar ações em UFT
À medida que uma ação cresce, continueping Ter cada etapa em um só lugar dificulta a depuração e a reutilização do script. UFT Permite dividir uma ação existente em duas partes quando ela se torna muito complexa.
- Separação independente (entre irmãos): A ação selecionada se divide em duas ações separadas que são executadas uma após a outra, cada uma mantendoping sua própria tabela de dados local.
- Divisão aninhada (pai-filho): A ação selecionada se divide em uma ação principal, cujo último passo chama a segunda ação, uma ação filha, preservando uma dependência lógica entre as duas.
Uma vez que as ações existam, UFT Oferece três maneiras de incluir uma ação em um teste a partir do inserção cardápio:
- Insira uma chamada para nova ação: Cria uma nova ação vazia dentro do teste atual.
- Insira a chamada para copiar a ação: Copia uma ação existente na íntegra, incluindo pontos de verificação, parametrização e a aba Tabela de Dados, para o teste que a chamou. A cópia é totalmente independente, portanto, as edições nunca afetam nem são afetadas pela original. Você pode copiar ações reutilizáveis e não reutilizáveis.
- Inserir chamada para ação existente: Insere uma chamada somente leitura para uma ação reutilizável armazenada em outro teste. Ela só pode ser modificada no teste em que foi criada, o que mantém todos os chamadores sincronizados e facilita a manutenção de grandes conjuntos de testes.
Cada chamada se resume a um RunAction Declaração na seção Opinião do Especialista:
' Calls Action2, which is stored in Test2, running it for one iteration RunAction "Action2[Test2]", oneIteration
A ação é executada tantas vezes quantas as Propriedades de Chamada de Ação especificarem. Por exemplo, se a Ação2 estiver configurada para ser executada em cada iteração da Tabela de Dados do Teste2, mas a Ação1 que a chama no Teste1 for executada apenas uma vez, a Ação2 ainda será executada apenas uma vez, porque a chamada em si é acionada uma única vez.
💡 Dica: Quando um teste contém várias ações, abra o Fluxo de teste No menu Exibir, arraste e reordene os painéis. Isso altera a sequência em que eles aparecem. UFT Executa as ações sem editar as etapas dentro de cada ação individual.
O vídeo abaixo complementa o script de login de cinco etapas criado em tutoriais anteriores para Reserva de voo e demonstra passo a passo a criação, divisão e chamada de ações de ponta a ponta. É o vídeo mais longo desta série. UFT/QTP série de tutoriaisPor isso, é útil fazer anotações enquanto assiste.
Clique aqui. se o vídeo não estiver acessível
Como passar parâmetros e armazenar valores de saída entre ações
Além de chamar uma ação, a maioria dos scripts reais precisa inserir dados e ler um resultado de volta. UFT Atribui a cada ação seus próprios parâmetros de entrada e saída, além de diversas maneiras de persistir o que ela retorna.
Passando parâmetros para e de uma ação
Assim como funções ou métodos Em linguagens de programação, uma ação pode definir entrada e saída. parâmetrosEste parâmetro não tem relação com Parametrização de Dados de Teste Já abordamos isso antes; os parâmetros aqui pertencem à própria ação, não a uma coluna da tabela de dados. Configure-os a partir de Editar > Ação > Propriedades da açãoou clicando com o botão direito do mouse na ação na Visualização de Palavras-chave. Passe valores na chamada usando esta sintaxe:
' Passes an input value and captures the action's output into myResult RunAction "Action1", oneIteration, "testuser", myResult
Armazenando o valor de saída de uma ação
Dependendo do que o restante do script precisar, você pode armazenar o valor retornado de uma ação em um destes três locais:
- Uma variável:
RunAction "Action1", oneIteration, "testuser", myResultarmazena a saída diretamente emmyResult. - An variável de ambiente: criar uma variável definida pelo usuário em Arquivo > Configurações > Ambiente, então escreva
RunAction "Action1", oneIteration, "testuser", Environment("env_var"). - Uma coluna da tabela de dados:
RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet)Escreve o resultado diretamente na planilha global.
Fichas de dados globais e locais
As ações leem e gravam dados de teste por meio de dois tipos de planilhas. Ficha técnica global é exclusivo de todo o teste; qualquer ação pode ler ou escrever nele, e ele é sempre nomeado como “Global”. Ficha técnica local é única para cada ação, recebe o nome dessa ação e somente a sua própria ação pode lê-la ou escrevê-la.
Saindo de uma ação e controlando a iteração
Quando uma etapa precisa interromper uma ação prematuramente, em vez de deixá-la ser concluída, UFT Apresenta quatro declarações:
ExitAction— interrompe apenas a ação atual.ExitActionIteration— interrompe a iteração atual da ação e passa para a próxima.ExitRun— interrompe imediatamente toda a execução do teste.ExitGlobalIteration— interrompe a iteração de teste global atual e passa para a próxima.
Ao executar um UFT/QTP escrita que utiliza ações, tenha em mente as Iterações Globais e as Iterações Locais, pois ambas afetam quantas vezes uma ação é executada. Você pode alterar a frequência com que uma ação chamada se repete abrindo Propriedades da chamada de ação > Executar aba e definindo o modo de iteração ali.
⚠ Armadilha comum: Uma ação chamada, configurada para ser executada em cada iteração local, mas acionada por uma ação pai que é executada apenas uma vez, ainda será executada uma única vez. Confirme a contagem de iterações globais da ação pai e as propriedades de chamada da ação filha antes de presumir que uma ação chamada se repetirá.
