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

