Como usar funções em QTP/UFT em 3 Easy Steps

⚡ Resumo Inteligente

Funções em QTP/UFT Permitir que os testadores empacotem lógica VBScript reutilizável em arquivos de biblioteca que qualquer teste possa chamar, eliminando duplicação, facilitando a manutenção e acelerando o desenvolvimento de automação em toda a plataforma. UFT e QTP projetos.

  • 📚 Definição: Uma biblioteca de funções é um arquivo .qfl ou .vbs contendo funções VBScript reutilizáveis. UFT teste pode chamar.
  • 🛠️ Criação: Crie uma biblioteca em Arquivo > Novo > Biblioteca de Funções e escreva blocos padrão de Função…Fim da Função em VBScript dentro dela.
  • 🔗 Associação: Anexe a biblioteca através de Arquivo > Configurações > Recursos > Associar Biblioteca de Funções para expor suas funções ao teste.
  • ▶ ️ Ligando: Invoque uma função de biblioteca por typing seu nome com argumentos dentro do script de teste, exatamente como um embutido. UFT declaração.
  • 🗂️ Formatos de arquivo: Escolha .qfl para o arquivo nativo UFT editor ou .vbs para um arquivo de texto simples legível em qualquer lugar, incluindo sistemas de controle de versão.
  • ⚙️ Carregamento em tempo de execução: Use LoadFunctionLibrary ou ExecuteFile para anexar uma biblioteca programaticamente em vez da caixa de diálogo Recursos.
  • 🧭 Disciplina de nomenclatura: Atribua um nome único a cada função em todas as bibliotecas associadas, porque UFT Executa a última definição carregada quando os nomes colidem.
  • 📊 Relatório: Substituir mensagemBox chamadas com Reporter.ReportEvent para que os status de aprovado, reprovado e aviso apareçam diretamente dentro do UFT árvore de resultados.

Se você tiver trechos de código que precisam ser usados ​​várias vezes em seus testes, talvez seja interessante criar uma função definida pelo usuário. Ao usar funções definidas pelo usuário, seus testes ficam mais curtos e mais fáceis de projetar, ler e manter.

Suas próprias bibliotecas de funções no Micro Focus UFT pode conter VBScript funções, sub-rotinas, módulos etc.

Você precisa seguir apenas 3 passos simples para usar uma função de uma biblioteca em seu teste.

Uma biblioteca de funções difere de um açao in UFTUma função não possui repositório de objetos ou folha de dados própria, mas qualquer ação ou teste pode chamá-la assim que a biblioteca estiver associada.

Copiar e colar os mesmos passos em cada ação multiplica o trabalho de manutenção, pois uma única alteração precisa ser repetida em todas as cópias. Uma biblioteca de funções resolve isso centralizando essa lógica em um único local que qualquer ação ou teste do projeto pode chamar.

3 passos simples para usar uma função de uma biblioteca em UFT/QTP

Passo 1) Crie uma nova biblioteca de funções em UFT or QTP selecionando Arquivo > Novo > Biblioteca de Funções. Ela será aberta como uma nova aba em QTP.

Vamos criar uma função bem simples que exibe uma caixa de mensagem.

Function Demo

MsgBox "This is a Test Function"

End Function

Sempre que essa função for chamada, uma caixa de mensagem será exibida. Um único arquivo pode conter várias funções, portanto, salve o arquivo uma vez e reutilize-o em vários testes. UFT salva uma biblioteca de funções com um .qfl extensão por padrão, embora seja simples .vbs O formato de arquivo também funciona, como explicado na próxima seção.

Passo 2) Associe a biblioteca ao seu teste. Abra Arquivo > Configurações > Recursos > Associar Biblioteca de Funções e clique em AdicioneSelecione o arquivo da biblioteca de funções e clique em OK.

Passo 3) O último passo é chamar a função dentro do script de teste. Uma vez que uma biblioteca esteja associada, chamar uma função é tão simples quanto digitarping seu nome e a passagem de quaisquer argumentos necessários, conforme mostrado abaixo.

' Call the function from the associated library
Demo()

UFT localiza Demo na biblioteca associada e a executa exatamente como se tivesse sido escrita localmente dentro do teste.

Anotações importantes

  • Utilizando objetos COM e DCOM, você pode criar funções muito avançadas.
  • Na verdade, muitas das funcionalidades oferecidas por QTP pode ser codificado usando VBScript
  • Vimos engenheiros de automação que fazem disso mais um projeto VB do que um projeto de automação
  • Nossa recomendação é focar 100% na automação em vez de exibir suas habilidades em VB

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

Tipos de arquivo da biblioteca de funções: .qfl vs .vbs

UFT Não força você a usar um único formato de arquivo para uma biblioteca de funções. O editor de Biblioteca de Funções salva novos arquivos com um formato específico. .qfl extensão por padrão, e UFT também aceita um texto simples .vbs arquivo criado em qualquer editor de código, porque um QTP/UFT Uma biblioteca de funções nada mais é do que um VBScript comum armazenado em disco; os dois formatos se comportam de maneira idêntica em tempo de execução.

ASPECTO Arquivo .QFL Arquivo .VBS
Criado com UFT Editor de biblioteca de funções Qualquer editor de texto ou código
Abre-se para o exterior UFT Não Sim, como texto simples.
compatibilidade com controle de versão Limitada Melhor, já que as diferenças são legíveis.
Método de associação O mesmo vale para ambos. O mesmo vale para ambos.

A escolha se resume principalmente ao fluxo de trabalho da equipe, e não à funcionalidade. Uma biblioteca única, criada rapidamente dentro de UFT funciona perfeitamente como .qfl, enquanto as bibliotecas mantidas em Git, SVN ou outro sistema de controle de versão geralmente são mantidas como .vbs arquivos, porque o texto simples produz diferenças muito mais legíveis durante a revisão de código. Ambos os formatos suportam o conjunto completo de recursos do VBScript, incluindo classes, tratamento de erros e criação de objetos COM, e ambos se associam a um teste exatamente da mesma maneira, como explica a próxima seção.

Renomear a extensão do arquivo não altera o conteúdo dele, portanto, converter um arquivo existente .qfl arquivo para .vbsOu seja, ou vice-versa, trata-se simplesmente de renomear um arquivo e, em seguida, associar novamente o arquivo renomeado ao teste.

Formas de associar uma biblioteca de funções a um teste

A etapa 2 acima usa a caixa de diálogo Recursos, mas UFT Na verdade, oferece várias maneiras de associar uma biblioteca de funções a um teste, e a escolha da correta depende se a associação deve ser permanente ou se aplicar apenas a uma única execução. Um teste pode ter mais de uma biblioteca associada ao mesmo tempo, e UFT Carrega-os na ordem em que aparecem na lista de Recursos.

  1. Diálogo da Biblioteca de Funções Associadas (GUI): Abra Arquivo > Configurações > Recursos > Associar Biblioteca de Funções, clique em Adicionar e selecione o arquivo. UFT Essa associação é armazenada dentro do próprio teste, de forma que a biblioteca seja carregada automaticamente sempre que o teste for aberto. Esse é o método mostrado na Etapa 2 acima e funciona bem como a opção padrão para qualquer biblioteca que todo teste em um projeto precise.
  2. Declaração LoadFunctionLibrary: Chame a função LoadFunctionLibrary "caminho" de dentro de um script para anexar uma biblioteca em tempo de execução sem precisar acessar a caixa de diálogo Recursos. UFT Trata a biblioteca exatamente como uma associação baseada em diálogo durante o restante da execução, o que é conveniente quando o caminho da biblioteca é definido dinamicamente.
  3. Instrução ExecuteFile: ExecuteFile “caminho” executa um arquivo de script e expõe suas funções à execução atual, mas UFT não registra o arquivo como um tracrecurso ked, portanto, ele nunca aparece em Bibliotecas de Funções Associadas nas configurações de teste.
  4. Modelo de Objeto de Automação (AOM): Um arquivo VBScript externo pode ser executado. UFTAbra um teste e adicione uma biblioteca a Test.Settings.Resources.Libraries programaticamente. Scripts de compilação ou implantação geralmente usam essa abordagem para configurar a mesma biblioteca em dezenas de testes de uma só vez.
' Load a library at run time from inside a script
LoadFunctionLibrary "C:\Automation\CommonFunctions.qfl"

' ExecuteFile works the same way, but UFT does not
' track the file as an associated resource
ExecuteFile "C:\Automation\CommonFunctions.qfl"

Independentemente do método escolhido, uma biblioteca só precisa ser associada uma vez por teste para os métodos GUI e AOM, enquanto LoadFunctionLibrary e ExecuteFile devem ser executados novamente sempre que o script for executado, uma vez que são instruções VBScript comuns e não configurações salvas.

Quando uma biblioteca não for mais necessária, remova-a da lista de Recursos em vez de deixá-la associada, pois uma biblioteca não utilizada ainda pode ocultar uma função com o mesmo nome que você adicionar posteriormente a uma biblioteca diferente.

Melhores Práticas para Escrita UFT/QTP Bibliotecas de funções

Uma biblioteca de funções só compensa se toda a equipe confiar nela e puder mantê-la. Os hábitos a seguir mantêm uma biblioteca confiável à medida que ela cresce.

  • Use Option Explicit: Adicione-o como a primeira linha de cada biblioteca. UFT Sinaliza uma variável com erro de ortografia em vez de criar silenciosamente uma nova.
  • Mantenha os nomes das funções únicos: Se duas bibliotecas associadas definirem uma função com o mesmo nome, UFT chama o que for carregado por último, portanto, nomes duplicados causam problemas silenciosos e difíceis de resolver.trace insetos.
  • Retornar valores em vez de codificá-los diretamente no código: Aceita parâmetros e retorna um resultado, como no exemplo abaixo, de forma que a mesma função sirva para vários testes em vez de apenas um.
  • Evite mensagensBox em scripts de produção: Uma caixa de mensagem pausa a execução até que alguém clique em OK. Use Repórter.ReportEvent Em vez disso, os status de aprovação, reprovação e aviso são registrados diretamente na árvore de resultados, sem interrupção.ping a corrida.
  • Agrupe por domínio, não por conveniência: Mantenha as funções de login, funções de banco de dados e funções auxiliares da interface do usuário em arquivos separados, para que cada teste possa associar apenas o que realmente precisa.
  • Mantenha as bibliotecas sob controle de versão: Armazene os arquivos da biblioteca de funções no mesmo repositório que o restante do projeto de automação, para que uma reversão do projeto também reverta qualquer função compartilhada.
Function AddNumbers(ByVal num1, ByVal num2)
    AddNumbers = num1 + num2
End Function

Dim result
result = AddNumbers(10, 20)
Reporter.ReportEvent micPass, "Sum Calculation", "The result is " & result

Aplicar esses hábitos desde cedo custa pouco, mas adaptá-los posteriormente a uma biblioteca grande e sem gestão é muito mais caro.

Perguntas Frequentes

Uma função pode retornar um valor para quem a chamou, enquanto uma sub-rotina não. Use uma função quando um script precisar de um resultado, como um valor calculado ou um indicador de aprovação/reprovação, e use uma sub-rotina para uma ação independente, como clicar em um botão.

UFT Não gera um erro. Ele chama silenciosamente a última definição carregada, com base na ordem em que as bibliotecas aparecem nas configurações de Recursos, portanto, nomes idênticos em duas bibliotecas podem produzir configurações confusas e difíceis de usar.trace resultados.

Sim. Assim que ambas as bibliotecas estiverem associadas ao mesmo teste, UFT carrega todas as suas funções em um único espaço de nomes compartilhado, de modo que qualquer função em uma biblioteca pode chamar uma função definida em outra.

Sim. Os assistentes de IA podem criar funções VBScript a partir de uma descrição em linguagem simples dos passos necessários, embora um testador deva sempre rever o código gerado para garantir referências corretas aos objetos e tratamento de erros antes de o utilizar.

As ferramentas de IA podem traduzir a lógica do VBScript para linguagens como Python or Java como um rascunho inicial, mas um engenheiro de controle de qualidade deve verificar a identificação do objeto e a lógica de negócios, já que a tradução automática raramente preserva ambas perfeitamente.

Resuma esta postagem com: